2013-07-09 16 views
1

上午計算了鈦中的cos,sin和tan的三角測量值,但未給出正確的值。 爲〔實施例鈦中的三角測量值未給出正確的值

var val=Math.cos(90); 

VAL應該爲零,但它給我的-0.4480736161。 代碼行有什麼問題。 任何幫助將不勝感激

謝謝!

回答

1

JavaScript中的trig函數(與許多語言一樣)以弧度值運算,而不是度數。圓弧周圍的角度測量值爲2π,因此通過將角度測量值乘以Math.PI/180進行轉換。

你可以使自己的包裝函數:

var MathDeg = { 
    sin: function(d) { return Math.sin(d * Math.PI/180); }, 
    cos: function(d) { return Math.cos(d * Math.PI/180); } 
}; 

var val = MathDeg.sin(90); 
+0

我假設'6.123031769111886e-17'幾乎是'0',因爲'Math.cos(Math.PI/2)'返回這個數字。我想這是一個浮點數問題? –

+0

@LightStyle是的,確切地說。 trig函數本身可能涉及一些內部浮點,具體取決於它們的實現方式。 (我記得舊的,舊的英特爾浮點芯片只具有「部分」觸發功能,但那是30年前:) – Pointy

+0

我已經選擇了90度的弧度值,即1.570796327,然後我在Math.cos中使用它(1.570796327);但結果又不同,它應該是零。 –

1

該值是正確的,但在輸入爲弧度。 π弧度= 180度,所以如果你不知道任何其他方式來操作函數來輸入度數,你可以簡單地將它改爲:cos(x in radians)= cos((pi/180)* x in度)

相關問題