我今天在JavaScript中玩Math.pow()
,当时我注意到:
答案 0 :(得分:3)
首先,ECMA-262不对Math.pow
返回的结果的精度做出任何保证。它声明:
返回与结果相关的依赖于实现的近似值 将x提高到y。
因此,对于不同的实现,您获得的可能会有所不同。
我假设1号,8号和27号的立方根分别与精确的1,2和3的偏差很小,以至于它不会反映为结果中的一部分。但是当考虑的数量变大时,与之相关的错误也会变大。
注意:
Math.pow(1000,1/3)
-> 9.999999999999998
Math.pow(1000000,1/3)
->99.99999999999997
它将继续偏离整数值。