作業中のコードで問題を解決しましたが、これは私を悩ませているものです。
特定の状況での浮動小数点は、丸めを台無しにするだけであることを知っています。PHP が型推論を使用していることは知っています。また、文字列間で論理的に操作すると自動キャストが行われます (つまり、この特定のケースでは、私の例では)。
同じことを「コードで手作業で」行うと、160.2 * 50 の結果は 8010 になります。整数の結果にキャストするときに丸めを行う必要はありません。ただ悪いです。なぜこれが起こるのか誰かが知っていれば、それは私を啓発するでしょう.
echo "160.2" * "50"; // gives 8010
echo (int) ((float)"160.2" * (int)"50"); // Gives 8009
問題を解決し、コードが機能するようになりました。これはただの楽しみです。理由と方法を知りたいのですが、段階的にphpがこれを台無しにします。PHPが解像度を失っているのはどこですか? どの段階で?
前もって感謝します :)