4

[地域と言語]のフォーマットを米国に設定した場合...

CultureInfo cul = CultureInfo.CurrentCulture;
string decimalSep = cul.NumberFormat.CurrencyDecimalSeparator;//decimalSep ='.'
string groupSep = cul.NumberFormat.CurrencyGroupSeparator;//groupSep=','
sFormat = string.Format("#{0}###", groupSep);
string a = double.Parse(12345).ToString(sFormat);

結果は次のとおりです:(12,345正しい)

しかし、[地域と言語]の形式をVietNamに設定すると、結果は次のようになります。12345

結果はになります12.345

手伝って頂けますか?ありがとう。

4

2 に答える 2

8

あなたは助けすぎです。書式指定子はカルチャに依存しないため、常にカンマを使用して、グループ化文字がどこにあるかを示します。文字列がフォーマットされると、実際のグループ化文字に置き換えられます。

これは正しくフォーマットされます:

        CultureInfo cul = CultureInfo.GetCultureInfo("vi-VN");   // try with "en-US"
        string a = double.Parse("12345").ToString("#,###", cul.NumberFormat);

実際には、「#,#」を使用して、一般的ではないグループ化を持つカルチャでも機能するようにする必要があります。それが問題かどうかの質問からは明確ではなかったので、「#、###」をパントしました

于 2012-09-01T11:35:51.747 に答える
3
于 2012-09-01T06:44:42.623 に答える