3

特定の変換に関して興味深い問題があります。"0,3"文字列または"0.3"を に従って値UICultureに変換しようとするとDouble、結果は になり0,29999999ます。結果を受け取るための解決策はまだ見つかっていません0,3

変換後に同じ値を持つ方法はありますか?

4

1 に答える 1

14

double すべての値を表すことはできません。整数を表すことが保証されていますが、それだけです。数値の「人間の」近似のようなものが必要な場合は、次を使用しますdecimal

decimal val = decimal.Parse("0.3");

注:decimal また、すべての値を表すわけではありませんが、近似を行う方法は、数値が機能することを期待する方法に似ている傾向があります。特に、double通貨などにはほとんど役に立ちません。

于 2013-01-18T13:51:58.167 に答える