exp()返回NaN的东西

时间:2012-05-11 20:43:41

标签: php nan exp

好的,我被困住了。我有这个PHP代码:

    echo exp(12), '<br/>';
    echo exp(4.2);

就像在PHP.net页面上一样。我在屏幕上有什么:

    NAN
    298.86740096706

但随后出现了最奇怪的事情。我想也许有一些PHP.ini问题与2.67e8等数字(我的意思是内部的'e')或其他东西。但是,当我将上述代码更改为:

    echo (2.67e8), '<br/>';
    echo exp(4.2);

我突然看到了这一点:

    267000000
    NAN

这是WTF,特别是因为最后的NAN,当它首先是一个非常正常,平静的浮动298.86740096706但是然后没有理由它被地狱取代为NAN。你有什么想法?请?

1 个答案:

答案 0 :(得分:0)

如果为true,那么这必定是PHP版本中的错误。请report it

顺便说一下,我无法在PHP 5.3.2上重现它。运行:

php -r 'do { $c = exp(4.2); echo "point "; } while (is_nan($c)); echo "$c\n";'

产生预期的输出:

point 66.686331040925