ToString(&ndquo; N2”)和ToString(&ndquo; 0.00”)之间的区别

ToString("N2")
ToString("0.00")
有什么区别?     
已邀请:
来自标准数字格式字符串   该数字将转换为字符串   形式“-d,ddd,ddd.ddd ...”,其中' - '   表示负数字符号if   必需,'d'表示一个数字(0-9),   ','表示千位分隔符   数组之间和'。'   表示小数点符号。 似乎
N
将包括数千个分隔符,而
0.00
则不会。 另请参见自定义数字格式字符串     
基本上,
ToString("N2")
将使用
CultureInfo
格式化数字。这意味着您的千位分隔符可能会有所不同,具体取决于使用的
CultureInfo
。如果需要,您也可以传递所需的
CultureInfo
。     
这都是关于小数位的
N2
对于500.00将以相同的方式工作,但是当你有5000.00时,
N2
将显示为 5,000.00 代替 5000.00 有关更多信息,请参阅标准数字格式字符串。     
两者都给你两个小数位,但如果检查更大的数字,你可以很容易地看到差异:
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
在dotnetfiddle.net在线执行代码     
千分隔符是一个问题。使用“n2”将为您提供3,543,其中使用“0.00”将为您提供3543.逗号可以分解下游代码,可能必须将该值解析回小数,尤其是客户端js。     
这是一个例子来解释
int rupees=567.3423;
string rp=rupees.tostring("N2");
- 答案是
rp="567.34";
    - N2最多提供两个十进制记录。     

要回复问题请先登录注册