【发布时间】:2018-09-19 19:01:24
【问题描述】:
我有一个百分比计算,但如果没有可用数据,我会收到以下错误消息:
Division by zero
计算
$ratio = ($postup*100)/($postup + $postdown);
【问题讨论】:
-
在分割前检查
$postup + $postdown表达式。
标签: laravel zero divide-by-zero
我有一个百分比计算,但如果没有可用数据,我会收到以下错误消息:
Division by zero
计算
$ratio = ($postup*100)/($postup + $postdown);
【问题讨论】:
$postup + $postdown表达式。
标签: laravel zero divide-by-zero
除以零是undefined。
如果$postup 和$postdown 都是null(未设置),您将得到除以零,即null + null == 0。
如果$postup * -1 == $postdown,也会出现同样的问题。
由于未定义除以零,因此您需要为此添加回退。
这个回退是特定于应用程序的,但看起来像
$ratio = null;
if($postup + $postdown == 0) {
$ratio = xxx;
} else {
$ratio = ($postup*100)/($postup + $postdown);
}
请注意$postup * 100 将等于0 如果$postup == null
【讨论】:
你可以处理这个,像下面这样摆脱错误:
$ratio = 0;
$dividedBy = $postup + $postdown;
if($dividedBy != 0) {
$ratio = ($postup * 100) / $dividedBy;
echo $ratio;
} else {
echo "Can not divide by zero!!";
}
【讨论】: