私は何かに取り組んでいますが、理解できない問題があります。
double d = 95.24 / (double)100;
Console.Write(d); //Break point here
コンソール出力は (予想どおり) 0.9524 ですが、プログラムを停止した後に 'd' を見ると、0.95239999999999991 が返されます。
可能なすべてのキャストを試しましたが、結果は同じです。問題は、'd' を別の場所で使用していて、この精度の問題によってプログラムが失敗することです。
では、なぜそれを行うのですか?どうすれば修正できますか?