0

decimal.ToString() の後にフォーマット NN.NNNN,NN を取得する方法

私は試した:

value.ToString("00.0000,00")

しかし、出力では、コンマなしでNN.NNNNNN形式になっています...

何か案は?

4

2 に答える 2

2
value.ToString("00.0000\\,00");
于 2012-11-22T07:36:36.130 に答える
2

あなたが何を達成しようとしているのかは少しわかりませんが、明確なことの1つは、千の区切り記号とコンマ区切り記号を交換したことです。そのはず:

value.ToString("00,0000.00")

フォーマット文字列では、コンマ文字 (',') はコンマ区切り文字のプレースホルダーであり、リテラルのコンマを表すものではありません。ピリオド文字 ('.') についても同様です。これは、数値グループ区切り記号のプレースホルダーです。これらは、使用されている形式プロバイダーの実際のコンマと数値グループの区切り記号に置き換えられます (ToStringメソッドに何も渡されない場合は、現在のカルチャ)。

それでも、出力があなたが望むものではないかもしれません。次の出力が得られます

instance:
double value = 123456.7890123;

// prints "123 456,79"
Console.WriteLine(value.ToString("00,0000.00"));

他のグループ化が必要な場合は、適切なNumberFormatInfoオブジェクトを提供する必要があります。

double value = 123456.7890123;
NumberFormatInfo nfi = new NumberFormatInfo
    {
        NumberDecimalDigits = 2,
        NumberDecimalSeparator = ".",
        NumberGroupSeparator = ",",
        NumberGroupSizes = new[] { 4, 2 }
    };
// prints "12,3456.79"
Console.WriteLine(value.ToString("00,0000.00", nfi));
于 2012-11-22T07:33:38.187 に答える