1

重複の可能性:
C# でカスタムの千区切り記号を使用する

次のように数値をフォーマットする文字列フォーマットが必要です。

Input: 1000 Ouput: 1 000.00
Input: 10000 Output: 10 000.00 
Input: 100000 Output: 100 000.00
4

5 に答える 5

4

余分なフォーマットを必要とせずに完璧に機能します

String.Format("{0:# ###.00}", 40000);
output - "40 000.00"
String.Format("{0:# ###.00}", 400000);
output - "400 000.00"
String.Format("{0:# ###.00}", 4000);
output - "4 000.00"

これについてのブログ投稿を確認してください:表示する数値のフォーマット

于 2012-11-02T12:58:31.737 に答える
1

NumberFormatInfoクラスを使用してこれを行うことができます。サンプルコードを見てください。

NumberFormatInfo numberFormatInfo = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();          
numberFormatInfo.NumberGroupSeparator = " ";

int a = 1000;

Console.WriteLine(a.ToString("n", numberFormatInfo)); // 1 000.00
于 2012-11-02T13:07:57.350 に答える
1

これはうまくいきます

String.Format("{0:### ### ### ###.##}", 10000.00)

結果:

"  10 000.00"

余分なスペースを削除するには、結果をトリミングする必要があります

于 2012-11-02T13:01:17.543 に答える
0

さあ、友達に行きましょう:

var formatInfo = new NumberFormatInfo();
formatInfo.CurrencyGroupSeparator = " ";
formatInfo.CurrencySymbol = string.Empty;

Console.WriteLine(1000.ToString("C", formatInfo));
Console.WriteLine(10000.ToString("C", formatInfo));
Console.WriteLine(100000.ToString("C", formatInfo));
于 2012-11-02T13:15:38.420 に答える
-1

入力を提供することは、使用できる整数です。

input.ToString("F");

編集:私の悪い、フォーマットにスペースが表示されませんでした。それは10進数値のみだと思っていました

おそらく最良ではない別の簡単な方法は、それを通貨文字列に変換し、前の通貨記号を削除し、「、」を「。」に置き換えることです。

例えば

input.ToString( "C" );
input.Replace( "," , "." );
input.Remove( 0, 1 ); //or the amount of characters in currency symbol if more than one
于 2012-11-02T12:59:19.477 に答える