1. ホーム
  2. c#

[解決済み] ToString("N0")フォーマットとは何ですか?

2023-06-28 10:10:43

質問

このコードはCharles Pettzold氏の著書「Programming Windows Sixth Edition"」からのものです。

public object Convert(object value, Type targetType, object parameter, string language) 
{ 
    return ((double)value).ToString("N0"); 
}

ToString("N0") は、カンマ区切りで小数点以下の値を表示することになっています。適切な ToString のオーバーロードと "N0" という形式があります。.NETのドキュメントで正しい場所を教えてください。

どのように解決するのですか?

以下の following article の例については、MSDN にある N 形式の例について説明しています。また、このことは Standard Numeric Format Strings の記事で紹介しています。

関連する抜粋です。

//       Formatting of 1054.32179:
//          N:                     1,054.32 
//          N0:                    1,054 
//          N1:                    1,054.3 
//          N2:                    1,054.32 
//          N3:                    1,054.322 

precision指定子が結果文字列の小数点以下の桁数を制御する場合、結果文字列は、無限に正確な結果に最も近い表現可能な結果に丸められた数を反映します。同じように近い表現可能な結果が2つある場合。

  • .NET Framework および .NET Core 2.0 までの .NET Core では、ランタイムはより大きな最下位桁を持つ結果を選択します (つまり、MidpointRounding.AwayFromZero を使用します)。
  • .NET Core 2.1以降では、ランタイムは偶数の最下位桁を持つ結果を選択します(つまり、MidpointRounding.ToEvenを使用します)。