【问题标题】:php - "Division by zero" with euler constantphp - 欧拉常数“除以零”
【发布时间】: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


【解决方案1】:

求幂是通过pow 函数完成的,而不是^ bitwise-XOR operator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多