5

我试图设置 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 ٠١٢٣٤٥٦٧٨٩

代码中有没有我遗漏的部分?

4

1 回答 1

3

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

您需要自己输出数字。您应该能够首先使用内置代码格式化数字(以获得正确的分组/小数分隔符/货币),然后使用国家数字替换 0-9String.Replace或将数字映射到您需要的字符并使用String.Join.

 var converted = String.Join("", 123490.ToString().Select(c => "٠١٢٣٤٥٦٧٨٩"[c-'0']));
于 2013-02-12T07:41:34.247 回答