3

ビューの1つに表示する必要のある整数がたくさんあります。

私はそれらをこのように表示します:

int myVariable = 12500;
myVariable.ToString("0,0", System.Globalization.CultureInfo.InvariantCulture).Replace(",", " ")

myVariableに12500が含まれている場合、12500と表示されます。これはまさに私が望むものです。

ただし、myVariableに0が含まれている場合は、00と表示されます。00の代わりに0を表示します。

カスタム番号形式についてMSDNを調べましたが、役立つものは見つかりませんでした。可能であれば、これ以上文字列管理(置換など)を行わないようにしたいと思います。フォーマットを0,0から私にとってうまくいくものに切り替えるだけです。

4

1 に答える 1

6

私はあなたが欲しいと思う:

myVariable.ToString("#,0", ...)

標準の文字列形式の1つがこれを処理しなかった場合、私は驚きますが。たとえば、次のように使用できます。

myVariable.ToString("N0", ...)

また、不変のカルチャを使用してからコンマをスペースに置き換える代わりに、「」のaを使用して(不変のカルチャに基づいて)独自のカルチャを作成できることにも注意してくださいNumberGroupSeparator

サンプルコード:

// You don't need to create this every time. Create it once and put it in a static variable.
var culture = (CultureInfo) CultureInfo.InvariantCulture.Clone();
culture.NumberFormat.NumberGroupSeparator = " ";

Console.WriteLine(12345.ToString("N0", culture)); // 12 345
于 2013-03-07T22:51:40.967 に答える