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