javascript 中Math函数在勾弦定理计算上的错误
最近想要实现将div浮动成一个圆的定位,但是在使用角度计算时,想要浮动的内容一直不在位置上,后来经过弹出调试,才发现是因为js中Math.Sin函数的计算问题,测试的网页脚本如下:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>Math测试</title> 6 <script src="script/jquery-1.7.2.min.js"></script> 7 <script language="javascript" type="text/javascript"> 8 $(function(){ 9 var result="Sin90 = "+Math.sin(90); 10 $("#result").html(result); 11 }); 12 </script> 13 <style type="text/css"> 14 .result { 15 font-size:18px; 16 color:#00F; 17 font-family:"Lucida Console"; 18 } 19 </style> 20 </head> 21 22 <body> 23 <div id="result" class="result"></div> 24 </body> 25 </html>
最终显示的结果为:Sin90 = 0.8939966636005578
但是使用正确的计算方法sin90应该是等于1;
刚刚发现,对于角度的计算,不能够直接在Math.Sin()函数中填写角度值,应当将角度值进行换算,为“角度值*Math.PI/180”
所以上面的内容应当处理为:
1 <script language="javascript" type="text/javascript"> 2 $(function(){ 3 var result="Sin90 = "+Math.sin(90*Math.PI/180); 4 $("#result").html(result); 5 }); 6 </script>