Javascript sin function issue

前端 未结 4 711
悲哀的现实
悲哀的现实 2020-12-11 09:54

I have a problem with Math.sin. I thought it would output the sinus of the given integer. So I tried Math.sin(30) and my output was -0.988031624092

相关标签:
4条回答
  • 2020-12-11 10:50

    Parameters are assumed to be in radians, not degrees.

    Try

    Math.sin(Math.PI * (30/180));
    

    A comment below notes that pre-computing the ratio π/180 is a good idea. One could add a companion to Math.sin that works on degrees this way:

    Math.dsin = function() {
      var piRatio = Math.PI / 180;
      return function dsin(degrees) {
        return Math.sin(degrees * piRatio);
      };
    }();
    

    (Some people don't like extending built-in objects, but since one doesn't instantiate Math instances — at least, I don't — this doesn't seem terribly offensive.)

    0 讨论(0)
  • 2020-12-11 10:55

    As was said above, Math.sin() requires the use of radians as input. To convert degrees to radians, use:

    Radians = (Degrees * (Math.PI/180))
    
    0 讨论(0)
  • 2020-12-11 10:55

    Math.sin accepts values in radians, while your calculator is set to degrees.

    0 讨论(0)
  • 2020-12-11 10:57

    Math.sin works in radians, I guess your calculator is in degrees.

    0 讨论(0)
提交回复
热议问题