2

ええ、信じがたいことはわかっています - .NET のバグですか? ただし、コマンド ライン アプリで次のコードを実行します。

10 進数 x;

x = decimal.Parse("3.E-2", NumberStyles.Float);
Console.WriteLine(x);

x = decimal.Parse("5.72e9", NumberStyles.Float);
Console.WriteLine(x);

x = decimal.Parse("3.E−2", NumberStyles.Float);
Console.WriteLine(x);

最後の解析中に例外が発生しました。言います:

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

最初と最後の解析の値はまったく同じです。.NET 3.5 および 4 向けにコンパイルされた 2 つの異なる x64 マシンでテスト済み。

何が起こっているのですか?回避策はありますか?

4

1 に答える 1

24

1番目と3番目はまったく同じではありません。

3番目には「より長い」記号があり、その結果、それをどうするかわかりません。したがって、それを確認して、標準のマイナス記号に置き換える必要があります

于 2011-06-08T11:14:10.233 に答える