【发布时间】:2022-01-05 11:50:56
【问题描述】:
我正在尝试使用 PHP 从 119.7 减去 119.7,但结果不是预期的 (-1.4210854715202E-14),预期结果是 0
- Doc1 RestToPay = 171
- Doc2 RestToPay = 119.7
这是我的代码:
$TotalAmountToPay = 290.7;
foreach($Docs as $Doc){
$RestToPay = $Doc['RestToPay'];
if($TotalAmountToPay <= 0){
break;
}
$TotalAmountToPay = $TotalAmountToPay - $RestToPay;
if($TotalAmountToPay >= 0){
echo "OK: ".$TotalAmountToPay;
}else{
echo "Done: ".$TotalAmountToPay;
}
}
我得到的输出:
- 好的:119.7
- 完成:-1.4210854715202E-14
【问题讨论】:
-
通常推荐的避免此问题的方法是使用便士代替; 29070 而不是 290.70;仅在向用户显示结果之前添加小数点
标签: php numbers calculator