微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 强制.NET编写本机波斯数字而不是美国格式

我试图设置ASP.NET应用程序的Culture和UICulture但没有成功.
也在C# Windows应用程序中尝试过.
System.Globalization.CultureInfo a = new System.Globalization.CultureInfo("fa-IR");
a.NumberFormat.DigitSubstitution = System.Globalization.DigitShapes.NativeNational;
string Q = string.Format(a,"{0}",1234567890); // Output 1234567890 instead of ٠١٢٣٤٥٦٧٨٩

我在代码中遗漏了哪些部分?

解决方法

C#/ .Net框架中不支持输出0-9以外的数字(也不解析支持).

你需要自己输出数字.您应该能够首先使用内置代码格式化数字(以获得正确的分组/小数部分/货币),然后使用String.Replace将0-9替换为国家数字.将数字映射到您需要的字符并使用String将它们连接起来.加入.

var converted = String.Join("",123490.ToString().Select(c => "٠١٢٣٤٥٦٧٨٩"[c-'0']));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐