2

重複の可能性:
指数表記から数値を解析する
Decimal.Parse()は科学的記数法をサポートしていますか?

1E-08などの値をC#の小数に変換しようとしています。これは、小数が資金を処理するための推奨データ型であるにもかかわらず、decimal.Parse()でエラーが発生するためです。「入力文字列が正しい形式ではありませんでした。」最初にfloatに変換してから、10進数に変換すると、目的が無効になりませんか?

4

2 に答える 2

6

はい、floatに変換すると、実際に目的が無効になります。良いことは、ここでそれをする必要がないということです!

NumberStyles指定子をとるParseのオーバーロードを使用できます。

decimal d = decimal.Parse("1E-08",
     System.Globalization.NumberStyles.AllowExponent);

もちろん、ハードコードされた10進数を指定するだけの場合は、10進数のリテラル形式を使用できます。

decimal d = 1E-08M;
于 2012-11-26T19:09:05.063 に答える
4

あなたはで試すことができます:-

 decimal x = decimal.Parse("1E-08", NumberStyles.Float);
于 2012-11-26T19:11:55.667 に答える