IIS使用错误pt-PT
IIS use wrong pt-PT
在 .net 4.0、Web 表单和 IIS 8 中
我在 web.config 中有这个:
<globalization culture="pt-PT" uiCulture="pt-PT" />
当我在 C# 中这样做时:
ltNumber.Text = (12345.12).ToString("N");
我明白了:12 345,12
但是输出必须是12.345,12
这在 windows 10 开始看起来很糟糕。windows 7 一切都很好。有什么问题吗?
The numeric ("N"
) format specifier 使用您的 CurrentCulture
设置。
这意味着您的 CurrentCulture
有白色 space 作为 NumberGroupSeparator
and ,
as a NumberDecimalSeparator
。
作为解决方案,您可以 Clone
您的 CurrentCulture
,随心所欲地设置这些属性,并使用 that culture 作为第二个参数你的 ToString
方法。喜欢;
var clone = (CultureInfo) CultureInfo.CurrentCulture.Clone();
clone.NumberFormat.NumberDecimalSeparator = ",";
clone.NumberFormat.NumberGroupSeparator = ".";
ltNumber.Text = (12345.12).ToString("N", clone); // 12.345,12
我认为这些属性不会根据操作系统版本而改变。一切都与您使用的文化设置有关。
在 .net 4.0、Web 表单和 IIS 8 中 我在 web.config 中有这个:
<globalization culture="pt-PT" uiCulture="pt-PT" />
当我在 C# 中这样做时:
ltNumber.Text = (12345.12).ToString("N");
我明白了:12 345,12
但是输出必须是12.345,12
这在 windows 10 开始看起来很糟糕。windows 7 一切都很好。有什么问题吗?
The numeric ("N"
) format specifier 使用您的 CurrentCulture
设置。
这意味着您的 CurrentCulture
有白色 space 作为 NumberGroupSeparator
and ,
as a NumberDecimalSeparator
。
作为解决方案,您可以 Clone
您的 CurrentCulture
,随心所欲地设置这些属性,并使用 that culture 作为第二个参数你的 ToString
方法。喜欢;
var clone = (CultureInfo) CultureInfo.CurrentCulture.Clone();
clone.NumberFormat.NumberDecimalSeparator = ",";
clone.NumberFormat.NumberGroupSeparator = ".";
ltNumber.Text = (12345.12).ToString("N", clone); // 12.345,12
我认为这些属性不会根据操作系统版本而改变。一切都与您使用的文化设置有关。