我有以下代码:
$convertedCredits = round($userBalance['points'] / $convertionPoints) * $convertionPrice;
echo 'points: ' . $userBalance['points'] . ' - to: ' . $convertedCredits;
示例数据(我知道除以9并乘以9没有意义,但数据是动态的):
(6000/9) * 9
我的回声结果如下:
points: 6000 - to: 60030
为什么会导致60030?
答案 0 :(得分:5)
你的php代码说:
round(6000 / 9) * 9
因此php计算600/9,产生666.66667。
然后它在该数字上使用round()
,得到667。
然后它将结果乘以9,得到6003。
它的行为完全符合设计。
尝试将回声线更改为此,看看会发生什么。我打赌你得到了
echo '(points: ' . $userBalance['points'] . ' - to: ' . $convertedCredits . ') ';
我敢打赌额外的零点来自程序中的其他地方,你得到了
(points: 6000 - to: 6003) 0
或convertionPrice
值为90。