私は金額を表すためにdouble型を使用しています。 あなたが知っているように、いくつかの数字は19,7949999999のように正しく表現されていません.... 19,80に近似しています。ダブルによるお金の表記のエラーを修正するには?
どうすれば解決できますか? 代わりにDecimalを使用しようとしましたが、まだ問題があります。
ありがとうございます。
私は金額を表すためにdouble型を使用しています。 あなたが知っているように、いくつかの数字は19,7949999999のように正しく表現されていません.... 19,80に近似しています。ダブルによるお金の表記のエラーを修正するには?
どうすれば解決できますか? 代わりにDecimalを使用しようとしましたが、まだ問題があります。
ありがとうございます。
実際には、System.Decimal
を使用する必要があります。
System.Decimal
を使用する必要があります。これは、基数10の数字を正確に表すために作成されています。
Decimal
を既に試したことがある場合は、エラーが消えない原因となる可能性があるため、倍を使用しないでください。 Decimal
のみを使用している場合は、問題はありません。
小数点にも同じ問題はありません。どのような計算をしていますか? (19.794999は19.80に近似していると言っていますが、ナインの反復値が必要なのでしょうか?19.795と19.80の間で二重丸めをする方法はありません - それらはあまりにも離れており、 。) – Rup
10進数は金銭的価値に最も優れています。コードの扱い方に問題があるようです – V4Vendetta
これらの問題を示している 'decimal'を使ってコードを表示できますか? 'decimal'の仮数のために用意されたスペースの量はかなり信じられないほどです。 – sarnold