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']));

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...