NumberFormatInfo numberInfo = CultureInfo.CurrentCulture.NumberFormat;
double result = Convert.ToDouble("2,75", numberInfo);
result = 2.75
私の現在のUI/カルチャーは「de-DE」です。
なぜ私は2,75を得ないのですか?
NumberFormatInfo numberInfo = CultureInfo.CurrentCulture.NumberFormat;
double result = Convert.ToDouble("2,75", numberInfo);
result = 2.75
私の現在のUI/カルチャーは「de-DE」です。
なぜ私は2,75を得ないのですか?
string
結果が得られないためですが、 double
。その後、そのdoubleをどのように表示するかは、上記のコードの影響を受けません。
画面に「2,75」を表示したい場合は、doubleを文字列としてフォーマットし、numberInfoを追加する必要があります。
これを試して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
あなたは得る2.75
。数字を表示する方法は異なります。
double
値には、フォーマットに関する情報は含まれていません。それはどちら2.75
でもありません2,75
、それは単なる数値です。
小数点記号としてコンマを使用するカルチャを使用して数値を表示すると、期待どおりの結果が得られます。次に例を示します。
Console.WriteLine(result.ToString(CultureInfo.GetCultureInfo(1053)));
出力:
2,75