2014-03-30 59 views
5

當我使用Math.sin(90)計算JavaScript中的正弦90度時,它返回0.8939966636005565,但sin(90)是1.是否有解決此問題的方法?我需要任何角度的準確值。如何在javascript中使用Math.sin()以獲取正確答案?

<!DOCTYPE html> 
<html> 
<body> 
    <p id="demo">Click the button calculate value of 90 degrees.</p> 
    <button onclick="myFunction()">Try it</button> 
<script> 
function myFunction(){ 
    document.getElementById("demo").innerHTML=Math.sin(90); 
} 
</script> 

+1

JavaScript中的trig函數以弧度而非度數運算。 – Pointy

+0

@Pointy可能重複,我不知道它在弧度。 – JaSamSale

回答

11

Math.sin預計投入是弧度,但你期待90度的結果。將其轉換爲弧度,這樣

console.log(Math.sin(90 * Math.PI/180.0)); 
# 1 

按照維基百科的Radian to Degree conversion formula

Angle in Radian = Angle in Degree * Math.PI/180 
+3

'console.log(Math.sin(180 * Math.PI/180));''如何來'1.2246467991473532e-16'而不是'0'? – nils

+0

@nils - 注意數字'1.2246467991473532e-16'非常小,在數字的末尾相當於'0.00000000000000012246467991473532'(注意'e-16'),這是一種科學的寫作形式一個號碼。 – Greeso

5

JavaScript中的正弦函數採用弧度,不度。您需要將90轉換爲弧度才能得到正確答案:

Math.sin(90 * (Math.PI/180)) 
相關問題