ToString(“N2”) 和 ToString(“0.00”) 之间的区别

发布于 2024-10-09 08:36:01 字数 73 浏览 2 评论 0原文

ToString("N2")ToString("0.00") 有什么区别?

What is the difference between ToString("N2") and ToString("0.00")?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

Bonjour°[大白 2024-10-16 08:36:02

千位分隔符是一个问题。使用“n2”将为您提供 3,543,而使用“0.00”将为您提供 3543。逗号可能会破坏可能必须将该值解析回十进制的下游代码,尤其是客户端 js。

The thousand separator is an issue. Using "n2" will give you 3,543 where using "0.00" will give you 3543. The comma can break down-stream code that might have to parse that value back to a decimal, especially client-side js.

梦中的蝴蝶 2024-10-16 08:36:02

下面是一个例子来解释

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

——答案是 rp="567.34";
-- N2 最多给出两位小数记录。

Here is example to explain

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

--Answer is rp="567.34";
-- N2 gives upto two decimal records.

葮薆情 2024-10-16 08:36:01

来自标准数字格式字符串

数字转换为字符串
形式“-d,ddd,ddd.ddd…”,其中“-”
表示负数符号如果
必填,'d'表示数字(0-9),
',' 表示千位分隔符
数字组之间,以及“.”
表示小数点符号。

看起来 N 将包含千位分隔符,而 0.00 则不会。

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

From Standard Numeric Format Strings

The number is converted to a string of
the form "-d,ddd,ddd.ddd…", where '-'
indicates a negative number symbol if
required, 'd' indicates a digit (0-9),
',' indicates a thousand separator
between number groups, and '.'
indicates a decimal point symbol.

It would seem that N will include thousands separators, whereas 0.00 will not.

See also Custom Numeric Format Strings

泪痕残 2024-10-16 08:36:01

一切都与小数位有关

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

5,000.00

而不是

5000.00

有关详细信息,请参阅标准数字格式字符串

It's all about the decimal places

N2 will work the same way for 500.00, but when you have 5000.00, N2 will display as

5,000.00

instead of

5000.00

See Standard Numeric Format Strings for more information.

农村范ル 2024-10-16 08:36:01

基本上,ToString("N2") 将使用 CultureInfo 来格式化数字。这意味着您的千位分隔符可能会有所不同,具体取决于所使用的 CultureInfo。如果需要,您还可以传递所需的 CultureInfo

Basically, ToString("N2") will use the CultureInfo to format the number. This means that your thousands separator might be different depending on the used CultureInfo. You can also pass the desired CultureInfo if you want.

深居我梦 2024-10-16 08:36:01

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

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 在线执行代码< /a>

Both give you two decimal places, but you can see the difference easily if you check larger numbers:

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

outputs

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文