Javascript sin函数问题

时间:2011-11-16 16:08:56

标签: javascript math sine

我对Math.sin有疑问。我以为它会输出给定整数的窦。所以我尝试了Math.sin(30),我的输出是-0.9880316240928618然后我用我的计算器检查了它是0.5。

4 个答案:

答案 0 :(得分:16)

假设参数是弧度,而不是度数。

尝试

Math.sin(Math.PI * (30/180));

下面的评论指出,预先计算比率π/ 180是一个好主意。可以添加Math.sin的伴侣,以这种方式处理学位:

Math.dsin = function() {
  var piRatio = Math.PI / 180;
  return function dsin(degrees) {
    return Math.sin(degrees * piRatio);
  };
}();

(有些人不喜欢扩展内置对象,但是因为没有实例化Math实例 - 至少,我没有 - 这似乎不是非常冒犯。)

答案 1 :(得分:4)

Math.sin适用于radians,我猜你的计算器是度数。

答案 2 :(得分:3)

如上所述,Math.sin()需要使用弧度作为输入。要将度数转换为弧度,请使用:

Radians = (Degrees * (Math.PI/180))

答案 3 :(得分:1)

Math.sin接受以弧度表示的值,而您的计算器则设置为度数。