2
NumberFormatInfo numberInfo = CultureInfo.CurrentCulture.NumberFormat;
double result = Convert.ToDouble("2,75", numberInfo); 

result = 2.75

私の現在のUI/カルチャーは「de-DE」です。

なぜ私は2,75を得ないのですか?

4

3 に答える 3

5

string結果が得られないためですが、 double。その後、そのdoubleをどのように表示するかは、上記のコードの影響を受けません。

画面に「2,75」を表示したい場合は、doubleを文字列としてフォーマットし、numberInfoを追加する必要があります。

于 2012-10-24T12:58:07.387 に答える
3

これを試して2,75を取得してください:-

  string.Format(System.Globalization.CultureInfo.GetCultureInfo("de-DE"), "{0:0.0}", 2.75);

または、これを試すこともできます:-

  NumberFormatInfo n= new NumberFormatInfo();
  n.NumberDecimalSeparator = ",";
  n.NumberGroupSeparator = ".";

  double d= 2.75;
  string s= d.ToString(n); //2,75
于 2012-10-24T12:57:28.883 に答える
2

あなたは得る2.75。数字を表示する方法は異なります。

double値には、フォーマットに関する情報は含まれていません。それはどちら2.75でもありません2,75、それは単なる数値です。

小数点記号としてコンマを使用するカルチャを使用して数値を表示すると、期待どおりの結果が得られます。次に例を示します。

Console.WriteLine(result.ToString(CultureInfo.GetCultureInfo(1053)));

出力:

2,75
于 2012-10-24T13:00:28.490 に答える