关于javascript:Math.cos()给出了错误的结果

Math.cos() gives wrong results

本问题已经有最佳答案,请猛点这里访问。

根据我的理解和我的计算器,cos(90 degrees)等于0。在我的代码中,我有一个函数,允许我在需要时键入度数:

1
2
3
4
function deg(i)
{
    return i*Math.PI/180;
}

但是,当调用Math.cos(deg(90));时,我接收的输出是6.123233995736766e-17

为什么会发生这样的事情?

(请原谅我英语不好)


deg(90)近似等于90*Math.PI/180,您的结果相当于0

所以,一切都很好;)

注意,它必须是近似的,因为没有办法精确地表示π。