C# 如何在应用程序级别创建数字格式化程序,以根据不同的区域性格式化数字?
我正在尝试根据美国基本格式设置数字格式 代码:C# 如何在应用程序级别创建数字格式化程序,以根据不同的区域性格式化数字?,c#,asp.net-mvc,C#,Asp.net Mvc,我正在尝试根据美国基本格式设置数字格式 代码: var data = String.Format("{0:n" + 2 + "}", 7453215, new CultureInfo("en-US")); 输出: 74,53,215.00 var data = String.Format(new CultureInfo("en-US"), "{0:n" + 2 + "}", 7453215); 现在的问题是,我在很多地方都有这行代码,我在这些地方显示基于不同文化的数字,所以我必须在任
var data = String.Format("{0:n" + 2 + "}", 7453215, new CultureInfo("en-US"));
输出:
74,53,215.00
var data = String.Format(new CultureInfo("en-US"), "{0:n" + 2 + "}", 7453215);
现在的问题是,我在很多地方都有这行代码,我在这些地方显示基于不同文化的数字,所以我必须在任何地方更改
是否有可能创建某种格式化程序并注册一次,在一个地方和任何地方进行更改,这些更改应用于基于区域性的数字格式
更新:
74,53,215.00
var data = String.Format(new CultureInfo("en-US"), "{0:n" + 2 + "}", 7453215);
现在,我正在按照基于美国的格式正确格式化数字,但我想在应用程序级别创建通用数字格式化程序。这与asp.net-mvc有什么关系?当你说显示数字时,你的意思是在视图中吗?@StephenMuecke是的,这与在视图中显示有关,我的项目是asp.net mvc应用程序,因此我用mvc标记了这个问题。当我执行你的代码时,结果是7453215.00,而不是7453215.00(这是你的问题吗?)。现在还不清楚为什么要使用
.Format(“{0:n”+2+“},…)
而不仅仅是.Format(“{0:n2},…)
。文化是你唯一想要的吗change@StephenMuecke我已经用正确的代码更新了问题,现在按照基于美国的格式正确格式化了数字,但我想在应用程序级别创建数字格式化程序,所以如果明天有人来告诉我,我想在xyz文化中格式化数字,以便我需要更改只有一个地方的区域性,而不是我在问题中提到的所有使用代码的地方,一个选项是在设置文件(或webconfig
)中定义区域性(称为myculture),然后使用new CultureInfo(“en US”)
而不是new CultureInfo(“Properties.settings.Default.myculture”)