浮動小数点数を扱うと、次のような問題が発生する可能性があることは誰もが知っています。
echo intval(0.58*100);//57
また、bcmath 関数を使用すると役立ちます。
echo bcmul('0.58', '100', 2);//58.00
PHP マニュアル:
//Multiply the left_operand by the right_operand.
string bcmul(string $left_operand , string $right_operand [, int $scale = 0 ])
しかし、なぜこれがうまくいくのでしょうか?
最初の 2 つのパラメーターは文字列でなければならないことに気付きました。これは、これらの関数が数値を文字列で処理するためでしょうか?