2011-06-27 5 views
-1

私は金額を表すためにdouble型を使用しています。 あなたが知っているように、いくつかの数字は19,7949999999のように正しく表現されていません.... 19,80に近似しています。ダブルによるお金の表記のエラーを修正するには?

どうすれば解決できますか? 代わりにDecimalを使用しようとしましたが、まだ問題があります。

ありがとうございます。

+4

小数点にも同じ問題はありません。どのような計算をしていますか? (19.794999は19.80に近似していると言っていますが、ナインの反復値が必要なのでしょうか?19.795と19.80の間で二重丸めをする方法はありません - それらはあまりにも離れており、 。) – Rup

+1

10進数は金銭的価値に最も優れています。コードの扱い方に問題があるようです – V4Vendetta

+2

これらの問題を示している 'decimal'を使ってコードを表示できますか? 'decimal'の仮数のために用意されたスペースの量はかなり信じられないほどです。 – sarnold

答えて

4

実際には、System.Decimalを使用する必要があります。

3

System.Decimalを使用する必要があります。これは、基数10の数字を正確に表すために作成されています。

Decimalを既に試したことがある場合は、エラーが消えない原因となる可能性があるため、倍を使用しないでください。 Decimalのみを使用している場合は、問題はありません。

関連する問題