String.Format十进制,包含千位分隔符和强制小数位

时间:2014-06-29 10:21:56

标签: c# string parsing decimal

我希望String.Format小数,以便它有千位分隔符和强制小数位(3)。

例如:

输入:

123456,12
78545,8

输出:

123.456,120
78.545,800

我试过了

String.Format("{0:0.0,000}", input);

但这只会给出千位分隔符,但不会强制小数位。

3 个答案:

答案 0 :(得分:6)

custom numeric format 字符串中,句点(.)用于"本地化的小数点分隔符"。 IE浏览器。即使您当前的语言环境使用逗号作为小数分隔符,您也应该在格式字符串中使用句点。同样,逗号(,)用于本地化的千位分隔符。

由于您的格式在之后将逗号放在一起,所以事情会变得混乱(千位分隔符不会在小数点后应用)。

所以试试:

 String.Format("{0:#,##0.000}", input);

(使用#数字仅包含input足够大的数据。)

答案 1 :(得分:3)

String.Format("{0:N3}", input)

请参阅N format specifier

答案 2 :(得分:1)

或者:

string.Format("{0:N3}", input)

或明确(不考虑当前文化):

string.Format("{0:#,##0.000}", input)