我对Math.sin
有疑问。我以为它会输出给定整数的窦。所以我尝试了Math.sin(30)
,我的输出是-0.9880316240928618
然后我用我的计算器检查了它是0.5。
答案 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接受以弧度表示的值,而您的计算器则设置为度数。