decimal.ToString() の後にフォーマット NN.NNNN,NN を取得する方法
私は試した:
value.ToString("00.0000,00")
しかし、出力では、コンマなしでNN.NNNNNN形式になっています...
何か案は?
value.ToString("00.0000\\,00");
あなたが何を達成しようとしているのかは少しわかりませんが、明確なことの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));