【发布时间】:2016-03-24 21:54:15
【问题描述】:
我有这个简单的功能:
这是我为实现它而编写的代码:
public function SimpleEquation($top, $bottom){
$result = (-1/(1 + M_E^(2*M_E - 2*($top/$bottom)))) + 1.032; //this is line 123.
$result = round($result, 2, PHP_ROUND_HALF_DOWN);
return $result;
}
但是当我执行它时,它给出了错误:
MyFile.php 第 123 行中的 ErrorException:除以零
基本上我认为传入的输入有问题,这就是为什么我尝试使用常数值而不是变量导致问题的方程:
$result = (-1/(1 + M_E^(2*M_E - 2*(5.05/5.78)))) + 1.032;
echo "Result: ".$result."<br>";
这也会导致同样的除以零错误。我尝试从头开始重写方程超过 4 次,并且它适用于大多数值。我还尝试使用像$eulerConstant = 2.718 这样的简单常量,以防万一系统出现溢出或其他问题,但它仍然给了我相同的结果。
如果能得到关于为什么这不起作用的帮助,我会非常高兴。 非常感谢。
【问题讨论】:
-
@cale_b 由 PHP 提供为
2.718281828459 -
(1 + M_E^(2*M_E - 2*(5.05/5.78)))评估为零。 -
我还尝试了另一个由我创建的名为
$eulerConstant = 2.718的变量,但它仍然不起作用。
标签: php runtime-error divide-by-zero