这个问题已经有了答案:
Is floating point math broken?
30答
我对这段代码有问题

    $Fee = 275.21;
    $feeAmount1 = (int) ( floatval ( $Fee ) * 100 );

    echo $feeAmount1 . '<br />';

我得到一个结果。
27520

我需要把它转换成int,但是我在(int)函数中得到了ennacurate值。
希望有人能帮我。
谢谢,是预付款。

最佳答案

听起来可能是浮点错误。
例如,您的FPU可能会为公式27520.999...提供275.21 * 100。(很接近,对)然后小数在转换成整数时被分条。
在将其转换为int之前,可以尝试舍入它:

$feeAmount1 = (int) ( round( $Fee * 100) );

关于php - 在PHP中使用(int)值不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32603413/

10-12 00:17
查看更多