如果我们使用C,N,P等内置格式,String.Format是否可以使用2种方式: ......它会将区域设置考虑在内? 如果我们使用自定义格式代码(如#,## 0.000),它将不考虑区域设置?String.Format是否考虑locale或不?
在我的代码中,我使用的方法是这样
的String.Format( “{0:### 0000}”,值);
因为我国使用逗号作为小数点分隔
但结果仍是:1,234.500,如果它认为作为点小数点分隔符。
请帮忙!
如果我们使用C,N,P等内置格式,String.Format是否可以使用2种方式: ......它会将区域设置考虑在内? 如果我们使用自定义格式代码(如#,## 0.000),它将不考虑区域设置?String.Format是否考虑locale或不?
在我的代码中,我使用的方法是这样
的String.Format( “{0:### 0000}”,值);
因为我国使用逗号作为小数点分隔
但结果仍是:1,234.500,如果它认为作为点小数点分隔符。
请帮忙!
你想用CultureInfo:
value.ToString("N", new CultureInfo("vn-VN"));
String.Format(new CultureInfo("vi-VN"), "N", value);
既然你在河内是(从配置文件),我用越南的代码,这是vn-VN
。
This Works。
IFormatProvider iFormatProvider = new System.Globalization.CultureInfo("es-ES");
string s = value.ToString("#,##0.000", iFormatProvider);
string s2 = string.Format(iFormatProvider, "{0:#,##0.000}", val)
注意,,
和.
使用的是“标准” EN-US风格,但.ToString()
和string.Format()
与格式提供做正确的事。
你有没有打扰过看String.Format的文档? – 2009-07-30 02:35:42