40

文字列フォーマッタを使用して、値を千、百万、または十億で割るためにコードを変更せずに、千、百万、十億を 123K、123M、123B にフォーマットする方法はありますか?

String.Format("{0:????}", LargeNumber)
4

3 に答える 3

82

これを実現するにはさまざまな方法がありますが、私にとって最も簡単で迅速なのは、「、」カスタム指定子を使用することです

double value = 1234567890;

// Displays 1,234,567,890   
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture));

// Displays 1,234,568K
Console.WriteLine(value.ToString("#,##0,K", CultureInfo.InvariantCulture));

// Displays 1,235M
Console.WriteLine(value.ToString("#,##0,,M", CultureInfo.InvariantCulture));

// Displays 1B
Console.WriteLine(value.ToString("#,##0,,,B", CultureInfo.InvariantCulture));
于 2012-09-08T14:29:26.217 に答える
4

値を千、百万、または十億で割るICustomFormatterを実装し、次のように使用できます。

var result = string.Format(new MyCustomFormatter(), "{0:MyFormat}", number);
于 2012-07-31T01:49:21.957 に答える