2016-04-19 16 views
-2

私はそれが1000年の区切りで表示されるように、整数をフォーマットする(、)フォーマット数値文字列は

私の試みは、これまでされている:私はするのに苦労しています

String.Format("{0:#,###.##}", 1234.0);   // 1,234 
String.Format("{0:#,###.##}", 1234.05);   // 1,234.05 
String.Format("{0:#,###.##}", 1234);   // 1,234 

値を1,234.0として出力してください。 1,234.0として文字列を出力する方法を教えてください。

+0

[.NET String.Format()]の重複している可能性があります。カンマを数字の何千もの場所に追加します](http://stackoverflow.com/questions/105770/net-string-format-to-add-commas-in数字のための場所) – Draken

+0

String.Format( "{0:#、###。##}"、1234.0);しかし、これを行う方法??説明できますか?? –

+1

'String.Format(" {0:n} "、1234.0);'他の投稿が示唆しているようにしましたか? – Draken

答えて

3

私はあなたの質問を理解する方法:

  • あなたは、整数側
  • 上のすべての3桁の数字あなたはまた、分数側の1桁

をしたい桁区切りをしたい、私はあなたが推測するでしょう

  • 整数の側に少なくとも1桁が必要です

使用しているフォーマット文字列の問題は、#を使用して桁の位置を指定していることです。 According to the documentation、この文字の意味:

「#」記号は、対応する数字がある場合はそれを置き換えます。 これ以外の場合、結果文字列に数字は表示されません。一方

(私の強調)

0文字:一方が存在する場合

は、対応する数字でゼロに置き換え、 それ以外の場合、結果文字列にゼロが表示されます。

は(再び、私の重点は)

だから、あなたは、いくつかの0年代の代わり#年代を使用する必要があります。

具体的には、ここで私はこの答えの上部にある3 bulletpointsに応じて使用する書式文字列です:

#,##0.0 

これは意味:

  • コンマは「千個の区切りを追加する」を意味
  • #,##0は、「ここでは整数部分の場所を設定し、必要に応じて1000個の区切り文字を追加し、必要に応じて最初のの後ろに桁を追加することを意味します。、しかし、あなたはちょうど.1結果を取得しないように、常に「あなたの.#を意味
    • 『小数点以下を追加し、小数1小数の桁を』
    • .0手段」は、少なくとも一つの数字を追加桁の小数の桁はそれが0であればそれはおそらくあなたの書式文字列

の主な問題はここ.NET Fiddleにいますので、「どちらか追加していない、0以外の場合試してみてください。

関連する問題