【问题标题】:Division by zero laravel除以零 laravel
【发布时间】:2018-09-19 19:01:24
【问题描述】:

我有一个百分比计算,但如果没有可用数据,我会收到以下错误消息:

Division by zero

计算

$ratio = ($postup*100)/($postup + $postdown);

【问题讨论】:

  • 在分割前检查$postup + $postdown表达式。

标签: laravel zero divide-by-zero


【解决方案1】:

除以零是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

【讨论】:

    【解决方案2】:

    你可以处理这个,像下面这样摆脱错误:

    $ratio = 0;
    $dividedBy = $postup + $postdown;
    
    if($dividedBy != 0) {
        $ratio = ($postup * 100) / $dividedBy;
        echo $ratio;
    } else {
        echo "Can not divide by zero!!";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多