Dav*_*vid 3 c# string-formatting currency-formatting
如果我将[区域和语言]中的格式设置为US ...
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);
Run Code Online (Sandbox Code Playgroud)
结果是:( 12,345是正确的)
但是如果我将[Region and Language]中的格式设置为VietNam,那么结果是: 12345
结果应该是12.345.
你能帮助我吗?谢谢.
你太过分了.格式说明符对文化不敏感,您始终使用逗号来指示分组字符的位置.然后在格式化字符串时由实际的分组字符替换.
格式正确:
CultureInfo cul = CultureInfo.GetCultureInfo("vi-VN"); // try with "en-US"
string a = double.Parse("12345").ToString("#,###", cul.NumberFormat);
Run Code Online (Sandbox Code Playgroud)
您应该使用"#,#"来确保它仍然适用于具有不常见分组的文化.关于这个问题是否重要尚不清楚,所以我为"#,###"而喋喋不休
| 归档时间: |
|
| 查看次数: |
15310 次 |
| 最近记录: |