3

このような文字列があり、それを double に変換したい。

string x = "65.50";
double y = Convert.ToDouble(x);

しかし、結果は 6550.0 です

65.50にしたいです。

ASP.NET と C# を使用しています。グローバル化の問題だと思います。

これは私の質問です、申し訳ありません(:

4

3 に答える 3

8

はい、このように変換するのはあなたの現在の文化です。CultureInfo.InvariantCultureを使用して、文化の使用をスキップできます。

double d = double.Parse("65.50", CultureInfo.InvariantCulture);

65.50にしたいです。

文字列に変換したい場合:

string str = d.ToString("N2", CultureInfo.InvariantCulture);  

小数点以下の桁数を保持しているため、これは通貨であると思います。decimal次に、代わりに使用する必要があります。

decimal dec = decimal.Parse("65.50", CultureInfo.InvariantCulture); // 65.5

これで使用できるようdecimal.ToStringになり、小数点以下の桁数が自動的に復元されます。

string str = dec.ToString(CultureInfo.InvariantCulture); // "65.50"
于 2013-09-03T13:22:38.853 に答える
0

これを試して:

var res =  Double.Parse("65.50", NumberStyles.Float, CultureInfo.InvariantCulture);

.フローティングセパレーターがある文化でそれを解析します

ここで試すことができます: http://ideone.com/3LMVqa

于 2013-09-03T13:20:27.543 に答える