我有这个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();
原文地址:https://www.jb51.cc/csharp/93448.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。