ここでは単純な解決策があるように感じますが、私はそれを見つけることができません。私は定数リテラル0.05を持っています。私のプログラムの実行中、私はdouble定数が0.05ではなく0.049999 ...などと扱われていることを発見しました。奇妙な、(double型の)リテラル値の予期しない変更
なぜこれが起こっているのですか?どうすれば防止できますか?
ご協力いただきありがとうございます。
-Matt
PS - 私は、新しいユーザー...ラットだので、私はより多くの情報を与えるためにスナップショットを投稿するだろうが、どうやら私はできません。
どの言語ですか?そして、通常、「二重」は近似値であり正確な値ではありません。 – Nettogrof
Visual Studio 2010でC#を実行しました。問題は実際に私が実行しているモジュロ演算であることがわかりました。 1.7%0.05は0よりも0.0499999999を返します。 – FreakinOutMan
私はフロートとダブルをミックスしていると思います。私は浮動小数点演算の精度についてチェック/検索することをお勧めします。 – Nettogrof