0

以下のコードは、小数点記号に対しては正常に機能します。つまり、pt-pt では "," をレンダリングし、en-us では "." をレンダリングします。

桁区切り記号で同じ動作を実現するにはどうすればよいですか?

        decimal dec = Convert.ToDecimal(20000.01);

        IFormatProvider portuguese = new System.Globalization.CultureInfo("pt-pt");
        IFormatProvider english = new System.Globalization.CultureInfo("en-us");

        Console.WriteLine(dec.ToString(portuguese));
        Console.WriteLine(dec.ToString(english));
4

2 に答える 2

4

千の区切り記号を含むフォーマット文字列を使用する必要があります。

例:標準フォーマット文字列

dec.ToString("N2", portuguese);

またはカスタムフォーマット文字列

dec.ToString("#,###.00", portuguese);
于 2012-10-24T08:15:58.457 に答える
1

これは確かに暗闇でのショットです。

decimal dec = Convert.ToDecimal(20000.01);

IFormatProvider portuguese = new System.Globalization.CultureInfo("pt-pt");
IFormatProvider english = new System.Globalization.CultureInfo("en-us");

Console.WriteLine(dec.ToString({0:C},portuguese)); //tell it that its currency
Console.WriteLine(dec.ToString(({0:C},english));   //tell it that its currency
于 2012-10-24T04:04:58.090 に答える