这个问题已经有了答案:
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/