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