2

我正在编写一个必须在某一时刻执行类似操作的脚本:Math.pow(-2,1.5). 结果应该大约是 -2.82843,但是 Javascript 会返回NaN. (我在 Google Chrome 17 和 Mozilla Firefox 11 中都尝试过。)如果指数是整数,例如 in Math.pow(-2,3),那么 Javascript 将返回正确答案,在本例中为 -8。正数也正确地提升到非整数幂;Math.pow(2,1.5)计算结果约为 2.8284271247461903。有什么方法可以让 Javascript 计算负数到非整数幂的值?

4

1 回答 1

8

Math.pow(-2, 1.5)返回 NaN,因为没有实数等于 -2 的 1.5 次方。此属性有一个复数,但Math.pow()不使用复数进行计算。

这个简单的转换证明了这种情况:

(-2) 1.5 = (-2) 1 * (-2) 0.5 = (-2) * sqrt(-2) = (-2) * i * sqrt(2) = -2i * sqrt(2)

于 2012-01-14T11:38:48.983 回答