2010-12-22 293 views

回答

31

Standard Numeric Format Strings

数目被转换成的 形式 “-d,DDD,ddd.ddd ...”,其中的字符串 ' - ' 表示 如果需要 负数符号,' d'表示数字(0-9), ','表示数字组之间的千位分隔符 ,以及'。' 表示小数点符号。

看起来N将包括数千个分隔符,而0.00不会。

又见Custom Numeric Format Strings

11

基本上,ToString("N2")将使用CultureInfo格式化数字。这意味着根据使用的CultureInfo,您的千位分隔符可能会有所不同。如果需要,您也可以通过想要的CultureInfo

3

千位分隔符是个问题。使用“n2”会给你3,543,其中使用“0.00”会给你3543.逗号可以分解下来的代码,可能需要将该值解析为小数,尤其是客户端js。

+1

其实 “N2” 将打印“ 3,543.00" 。 – Dror 2017-01-08 15:52:38

-3

这里的例子来解释

int rupees=567.3423; 
string rp=rupees.tostring("N2"); 

--answer是rp="567.34"; - N2提供了高达两个小数记录。

7

这是所有关于小数

N2将努力以同样的方式为500.00,但是当你有5000.00,N2将显示为

5,000.00

,而不是

5000.00

请参阅Standard Numeric Format Strings欲了解更多信息。

+0

这可以根据文化而改变。在pt-BR中,它将是500,00和5.000,00 – 2016-11-16 11:28:56

2

两个给你保留两位小数,但你可以很容易地看到区别,如果你检查更大的数字:

var d = 1234567.89; 
for (var i = 0; i < 10; ++i) { 
    Console.WriteLine(d.ToString("N2") + "\t" + d.ToString("0.00")); 
    d /= 10.0; 
} 

输出

1.234.567,89 1234567,89 
123.456,79 123456,79 
12.345,68 12345,68 
1.234,57 1234,57 
123,46 123,46 
12,35 12,35 
1,23 1,23 
0,12 0,12 
0,01 0,01 
0,00 0,00 

Execute code online at dotnetfiddle.net

相关问题