文字列フォーマッタを使用して、値を千、百万、または十億で割るためにコードを変更せずに、千、百万、十億を 123K、123M、123B にフォーマットする方法はありますか?
String.Format("{0:????}", LargeNumber)
文字列フォーマッタを使用して、値を千、百万、または十億で割るためにコードを変更せずに、千、百万、十億を 123K、123M、123B にフォーマットする方法はありますか?
String.Format("{0:????}", LargeNumber)
これを実現するにはさまざまな方法がありますが、私にとって最も簡単で迅速なのは、「、」カスタム指定子を使用することです
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));
値を千、百万、または十億で割るICustomFormatterを実装し、次のように使用できます。
var result = string.Format(new MyCustomFormatter(), "{0:MyFormat}", number);