我怎样才能得到罪,cos和tan来使用度数而不是弧度?

当我在JS中使用math时,我希望它的trig函数使用度数值而不是弧度值。 我该怎么做?

您可以使用这样的function来进行转换:

 function toDegrees (angle) { return angle * (180 / Math.PI); } 

请注意, sincos等函数不返回angular度 ,它们将angular度作为input。 在我看来,有一个函数可以将度数input转换为弧度,这样做会更有用:

 function toRadians (angle) { return angle * (Math.PI / 180); } 

你可以用它来做一些像tan(toRadians(45))

将结果乘以180/Math.PI以将弧度转换为度数。

你也可以定义你自己的function:

 function sinDegrees(angle) {return Math.sin(angle/180*Math.PI);}; 

等等。

我创build了自己的一个懒惰的Math-Object(MathD),希望它有帮助:

 //helper /** * converts degree to radians * @param degree * @returns {number} */ var toRadians = function (degree) { return degree * (Math.PI / 180); }; /** * Converts radian to degree * @param radians * @returns {number} */ var toDegree = function (radians) { return radians * (180 / Math.PI); } /** * Rounds a number mathematical correct to the number of decimals * @param number * @param decimals (optional, default: 5) * @returns {number} */ var roundNumber = function(number, decimals) { decimals = decimals || 5; return Math.round(number * Math.pow(10, decimals)) / Math.pow(10, decimals); } //the object var MathD = { sin: function(number){ return roundNumber(Math.sin(toRadians(number))); }, cos: function(number){ return roundNumber(Math.cos(toRadians(number))); }, tan: function(number){ return roundNumber(Math.tan(toRadians(number))); }, asin: function(number){ return roundNumber(toDegree(Math.asin(number))); }, acos: function(number){ return roundNumber(toDegree(Math.acos(number))); }, atan: function(number){ return roundNumber(toDegree(Math.atan(number))); } }; 

创build自己的转换函数来应用所需的math,然后调用这些函数。 http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees