web-dev-qa-db-ja.com

String。小数点以下の桁区切り記号を使用するように整数をフォーマットするか、小さな整数の場合は先頭に0を付けます

愚かな質問です。整数を1000の区切り記号(、)で表示するように書式設定しますが、小数点以下および先頭に0を付けません。

これまでの私の試みは次のとおりです。

String.Format("{0} {1}", 5, 5000);            // 5 5000
String.Format("{0:n} {1:n}", 5, 5000);        // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000);    // 05 5,000

私が求めている出力は次のとおりです。

5 5,000

私が行方不明になっていることは明らかですか?

53
Justin

これは私のために働いた。

String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000
54
Richard Friend

これを試して:-

String.Format("{0:n0}",5000) // 5,000
String.Format("{0:n0}",5) // 5
String.Format("{0:n0}",0) // 0
45
ZafarYousafi
String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000"
  • 書式文字列の0は、ここに属する数字を入力することを意味します。そうでない場合は、[先頭/末尾]ゼロ[物事を揃えるためなど]をゼロにします。編集:あなたは間違いなくパターンの最後の数字として1が必要です、またはゼロの値は空の文字列としてレンダリングされます
  • #は、ここに有効数字がない限り、出力に何も入れないことを意味します。

編集(@eulerfxに感謝):

  • 最後の部分は0ではなく#にする必要があります(最初に持っていたように)。そうしないと、値0は長さゼロの文字列としてレンダリングされます。
25
Ruben Bartelink

試して

String.Format("{0:#,#}", 4000);
4
Anax