ToString("N2")和ToString("0.00")之间的区别

Rup*_*try 37 c# formatting

ToString("N2")和之间有什么区别ToString("0.00")

Adr*_*der 34

来自标准数字格式字符串

该数字将转换为"-d,ddd,ddd.ddd ..."形式的字符串,其中" - "表示负数字符号(如果需要),"d"表示数字(0-9),','表示数字组之间的千位分隔符和'.' 表示小数点符号.

它似乎N将包括数千个分隔符,而0.00不会.

另请参见自定义数字格式字符串


小智 14

基本上,ToString("N2")将使用CultureInfo格式化数字.这意味着您的千位分隔符可能会根据使用情况而有所不同CultureInfo.如果需要,您也可以传递所需的内容CultureInfo.


Sam*_*nes 11

这都是关于小数位的

N2对于500.00将以相同的方式工作,但是当你有5000.00时,N2将显示为

5,000.00

代替

5000.00

有关更多信息,请参阅标准数字格式字符串.

  • 这可以根据文化而改变.在pt-BR中,它将是500,00和5.000,00 (2认同)

Kar*_*ahr 6

两者都给你两个小数位,但如果你检查更大的数字,你可以很容易地看到差异:

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

产出

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
Run Code Online (Sandbox Code Playgroud)

在 dotnetfiddle.net 上在线执行代码