私は次のことを試しました:
string val = "0.0000e+000";
float.Parse(val);
...まだFormatException
. だから私は疑問に思います:そのような値をフロート/ダブルに解析する方法は?
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
) の場合も失敗します。おそらく、他の文化でも失敗するでしょう。