ToString("N2")
とToString("0.00")
の違いは何ですか?
From 標準の数値フォーマット文字列
数値は「-d、ddd、ddd.ddd…」形式の文字列に変換されます。「-」は必要に応じて負の数値記号を示し、「d」は数字(0〜9)を示し、「、」は数値グループ間の千の区切り文字、および「。」小数点記号を示します。
N
には3桁の区切り文字が含まれているように見えますが、0.00
しない。
カスタム数値フォーマット文字列 も参照してください
基本的に、ToString("N2")
はCultureInfo
を使用して数値をフォーマットします。これは、使用するCultureInfo
に応じて千単位の区切り文字が異なる可能性があることを意味します。必要に応じて、必要なCultureInfo
を渡すこともできます。
それはすべて小数点以下の桁です
N2
は500.00でも同じように機能しますが、5000.00がある場合はN2
は次のように表示されます
5,000.00
の代わりに
5000.00
詳細については、「 標準の数値書式文字列 」を参照してください。
どちらも小数点以下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
桁区切り記号は問題です。 「n2」を使用すると3,543が得られますが、「0.00」を使用すると3543が得られます。コンマは、特にクライアント側のjsなど、その値を10進数に解析する必要があるダウンストリームコードを分割できます。