2

C# での数値の書式設定に関する簡単な質問がありました。

私はこのようなフォーマットを持っています

{0:0.00######################}

これはこのウェブサイトで提案されたもので、基本的には小数点以下 2 桁まで表示されます。

次に、このWebサイトは別のフォーマット文字列を提案しました

0.00######################

これで、前者と後者には機能的な違いがあることがわかりました。たとえば、string.Format() 呼び出しでは前者を使用し、Decimal.ToString() 呼び出しでは後者を使用する必要があります。しかし、私が知りたいのは、中括弧と

0:

何か案は?

4

3 に答える 3

3

を使用している場合String.Format、フォーマットされる複数の「項目」を持つことができます。これは、値のリストへのインデックス{n}である where is を使用して決定されます。n

var result = string.Format("Arg1 == {0}, Arg2 == {1}", arg1, arg2);

Decimal.ToStringand similar では値が 1 つしかないため、これは必須ではありません。

0:まさに{0}であり:、フォーマット仕様を分割するために使用されます ( の後のすべては、メソッドが使用する:ものと事実上同じです)。ToString

于 2013-03-27T20:52:16.940 に答える
2

を使用する場合String.Format、中括弧は、文字列に置き換えられるパラメーターを配置していることを示します。は0、それが最初のパラメーターであることを示しているため、たとえば次のように考えてください。

Console.WriteLine(String.Format("{0} {1} {2}", "A", "B", "C"));

「AB C」を出力します。一方:

Console.WriteLine(String.Format("{2} {0} {1}", "A", "B", "C"));

「CA B」を出力します。

それが役立つことを願っています。

于 2013-03-27T20:52:37.767 に答える
1

中括弧は、値に置き換える「記号」として使用されます。中括弧内の数値 (0 ベースのインデックス) は、値を指すインデックスです。

例:

string.Format("{0:#,##0} {1:#,##0} {0:#,##0}", 2345, 6789);

結果:

2,345 6,789 2,345

于 2013-03-27T20:53:37.670 に答える