0

私は次のことを試しました:

string val = "0.0000e+000";
float.Parse(val);

...まだFormatException. だから私は疑問に思います:そのような値をフロート/ダブルに解析する方法は?

float への解析

double への解析

4

1 に答える 1

5

CultureInfo.CurrentCulture小数点が異なる (現在のカルチャ) があります。代わりに、インバリアント カルチャで解析してみてください。

var x = Single.Parse("0.0000e+000", CultureInfo.InvariantCulture);

問題を説明すると、あなたがロシア人だった場合、現在のカルチャは に設定されru-RUます。そして、以下は失敗します:

CultureInfo.DefaultThreadCurrentCulture = CultureInfo.GetCultureInfo("ru-RU");
var x = Single.Parse("0.0000e+000");

FormatException : 入力文字列が正しい形式ではありませんでした。

フランス人 ( fr-FR) の場合も失敗します。おそらく、他の文化でも失敗するでしょう。

于 2013-03-23T15:58:20.597 に答える