我正在编写一个脚本,必须在某一时刻做类似的事情:Math.pow(-2,1.5)
。结果应约为-2.82843,但Javascript返回NaN
。 (我在Google Chrome 17和Mozilla Firefox 11中都尝试过此操作。)如果指数是整数,例如Math.pow(-2,3)
,则Javascript将返回正确的答案,在这种情况下为-8。正数也可以正确地提高到非整数幂; Math.pow(2,1.5)
评估为大约2.8284271247461903。有什么方法可以让Javascript计算非整数幂的负数的值?
最佳答案
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)
关于javascript - Javascript中非整数幂的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861950/