c# – 如何将英文数字转换成阿拉伯数字?

前端之家收集整理的这篇文章主要介绍了c# – 如何将英文数字转换成阿拉伯数字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个C#代码
DateTime.Now.ToString("MMMM dd,yyyy");

现在线程正在加载阿拉伯文化.所以结果是这样的

???? 19,2010

但我不想让“2010”和“19”以英文(也称为拉丁语或West Arabic数字) – 我想要“阿拉伯数字”,如“2”.

我试过了

DateTime.Now.ToString("MMMM dd,yyyy",CultureInfo.GetCultureInfo("ar-lb"));

给出了相同的结果.
那么任何想法?

解决方法

你的这个解决方法(只列出所有的文化,你想在字符串数组中使用这个数字):
private static class ArabicNumeralHelper
{
    public static string ConvertNumerals(this string input)
    {
        if (new string[] { "ar-lb","ar-SA" }
              .Contains(Thread.CurrentThread.CurrentCulture.Name))
        {
            return input.Replace('0','\u06f0')
                    .Replace('1','\u06f1')
                    .Replace('2','\u06f2')
                    .Replace('3','\u06f3')
                    .Replace('4','\u06f4')
                    .Replace('5','\u06f5')
                    .Replace('6','\u06f6')
                    .Replace('7','\u06f7')
                    .Replace('8','\u06f8')
                    .Replace('9','\u06f9');
        }
        else return input;
    }
}

然后使用该方法,对于您想要的所有字符串,您都可以使用“中央阿拉伯数字”,如下所示:

DateTime.Now.ToString().ConvertNumerals();

猜你在找的C#相关文章