web-dev-qa-db-ja.com

ToString( "N0")形式とは何ですか?

このコードは、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ドキュメントの適切な場所を教えてください。

60
Alex F

N形式の例については、MSDNの following article をご覧ください。これは 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 

精度指定子が結果文字列の小数桁数を制御する場合、結果文字列は、無限に正確な結果に最も近い表現可能な結果に丸められた数値を反映します。 2つの等しく近い表現可能な結果がある場合:

  • .NET Frameworkおよび.NET Core 2.0までの.NET Coreでは、ランタイムは最下位桁が大きい結果を選択します(つまり、MidpointRounding.AwayFromZeroを使用)。
  • .NET Core 2.1以降では、ランタイムはさらに最下位桁の結果を選択します(つまり、MidpointRounding.ToEvenを使用)。
110
Darin Dimitrov

ここにドキュメントがあります:

http://msdn.Microsoft.com/en-us/library/dwhawy9k.aspx

数値( "N")形式指定子は、数値を "-d、ddd、ddd.ddd…"形式の文字列に変換します。ここで、 "-"は必要に応じて負の数値記号を示し、 "d"は数字(0 -9)...

そして、ここでデフォルト(2)について話します:

http://msdn.Microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimaldigits.aspx

      // Displays a negative value with the default number of decimal digits (2).
      Int64 myInt = -1234;
      Console.WriteLine( myInt.ToString( "N", nfi ) );
4
nurettin

多分良いスタートです

Double.ToString()

いくつかの異なる書式設定オプションの例をご覧ください Double.ToString(string)

3
skyfoot

例のセクションのコメントとして、フォーマットのリスト here (Double.ToString()-MSDN-Article内)を見つけることができます。

2
jAC