将弧度转换为度的方法是什么?


156

我偶尔碰到这个,总是忘记怎么做。

经常弹出的事情之一。

另外,将弧度表示的角度转换为度并再次返回的公式是什么?


4
我不明白为什么人们对此表示反对;有些人在数学上不喜欢。
thesmallprint'sep

1
这只是措辞的问题。我将其改写为编程问题,而不是数学问题,瞧,它很合适。
DevelopingChris

3
这个问题的标题没有任何意义。“ [B]初始化方法” ---内置于什么?
Michael J. Barber

1
我要去寻找一种将摄氏温度转换为华氏温度并转换回华氏度的方法,我也一直忘了那个方法
Alex

7
StackOverflow不仅仅是一个讨论问题和答案的论坛。这是一个参考的地方。我最初将这个问题作为参考问题放在这里,因为它确实很常见。它属于此处,因此当有人回答“ Just Google it”时,Google会将您定向到此处。
汉斯·斯尼内森

Answers:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

至于实现,主要的问题是您希望pi的值有多精确。有一些相关的讨论在这里


11
Pi = 4 *可以使用ArcTan(1),以防您在系统/计算器上没有Pi或只是不想用所有小数位键入它
Axel Kemper 2013年

21
也许这在2008年不可用,但是现在您可以使用Math.PI常数。
巴特2014年

1
@Hogun单位标签与代数变量不同。当您说“ PI弧度= 180度”时,您是以单位为单位讲话,相当于说“ 1英尺= 12英寸”。然后,您无需获取单位标签并将其视为变量,这将给您带来明显错误的等式“英尺= 12 *英寸”。
戴夫·科斯塔

1
无需parens度=弧度* 180 / Math.PI; 弧度=度* Math.PI / 180;
Pawel

2
@Pawel虽然您是对的,但我敢说作者使用括号来传达有关功能在概念上如何组合的概念。
杰克逊(Jacksonkr)

10

弧度的完整圆为2 * pi。一个完整的度数圆是360。要从度数到弧度,它是(d / 360)* 2 * pi或d * pi / 180。


9

x弧度-> x * 180 / pi
x弧度-> x * pi / 180

我猜想您是否想为此功能[在PHP中]:

function convert($type, $num) {
    if ($type == "rads") {
          $result = $num*180/pi();
        }

    if ($type == "degs") {
          $result = $num*pi()/180;
        }

    return $result;
  }

是的,这可能写得更好。


4

在javascript中,您可以这样做

radians = degrees * (Math.PI/180);

degrees = radians * (180/Math.PI);

1

这对我来说足够好:)

// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)




0

pi弧度= 180度

所以1度= pi / 180弧度

或1弧度= 180 / pi度


0

对于C#中的double,这可能会有所帮助:

        public static double Conv_DegreesToRadians(this double degrees)
        {
            //return degrees * (Math.PI / 180d);
            return degrees * 0.017453292519943295d;
        }
        public static double Conv_RadiansToDegrees(this double radians)
        {
            //return radians * (180d / Math.PI);
            return radians * 57.295779513082323d;
        }

0

下面是一些代码,以扩展对象rad(deg)deg(rad)以及两个更多有用的功能:getAngle(point1,point2)getDistance(point1,point2)其中一个点需要有一个xy属性。

Object.prototype.rad = (deg) => Math.PI/180 * deg;
Object.prototype.deg = (rad) => 180/Math.PI * rad;
Object.prototype.getAngle = (point1, point2) => Math.atan2(point1.y - point2.y, point1.x - point2.x);
Object.prototype.getDistance = (point1, point2) => Math.sqrt(Math.pow(point1.x-point2.x, 2) + Math.pow(point1.y-point2.y, 2));

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.