如果我将[区域和语言]中的格式设置为美国...
CultureInfo cul = CultureInfo.CurrentCulture;
string decimalSep = cul.NumberFormat.CurrencyDecimalSeparator;//decimalSep ='.'
string groupSep = cul.NumberFormat.CurrencyGroupSeparator;//groupSep=','
sFormat = string.Format("#{0}###", groupSep);
string a = double.Parse(12345).ToString(sFormat);
结果是:12,345
(是正确的)
但如果我将[区域和语言]中的格式设置为越南,那么结果是:12345
结果应该是12.345
.
你能帮助我吗?谢谢。
你帮助太多了。格式说明符不区分区域性,您始终使用逗号来指示分组字符的位置。然后在格式化字符串时将其替换为实际的分组字符。
格式正确:
CultureInfo cul = CultureInfo.GetCultureInfo("vi-VN"); // try with "en-US"
string a = double.Parse("12345").ToString("#,###", cul.NumberFormat);
实际上,您应该使用“#,#”来确保它在具有不常见分组的文化中仍然有效。从问题中并不清楚这是否重要,所以我下注了“#,###”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)