在java中将Math.sin(x)的结果转换为学位的结果

在java中将Math.sin(x)的结果转换为学位的结果,java,math,trigonometry,Java,Math,Trigonometry,我想将Math.sin(x),其中x以弧度为单位,转换成一个结果,该结果将以度而非弧度为单位表示为x 我使用了度和弧度之间转换的普通方法和java内置方法,但是我传递给Math.sin()方法的任何参数都被视为弧度,因此导致我的转换是徒劳的 我希望sin输入的输出以度为单位,而不是像Math.sin()方法那样以弧度为单位。您可以像这样将弧度转换为度: double rad = 3.14159; double deg = rad*180/Math.PI; 相反,将度转换为弧度(乘以pi/180

我想将
Math.sin(x)
,其中
x
以弧度为单位,转换成一个结果,该结果将以度而非弧度为单位表示为
x

我使用了度和弧度之间转换的普通方法和java内置方法,但是我传递给
Math.sin()
方法的任何参数都被视为弧度,因此导致我的转换是徒劳的


我希望sin输入的输出以度为单位,而不是像
Math.sin()方法那样以弧度为单位。

您可以像这样将弧度转换为度:

double rad = 3.14159;
double deg = rad*180/Math.PI;
相反,将度转换为弧度(乘以pi/180)。您不能更改Math.sin的“输入法”(您不能告诉函数使用度而不是弧度),您只能更改作为参数传递的内容。如果希望程序的其余部分处理度,则必须将其转换为弧度,尤其是对于Math.sin()。换句话说,将度值乘以pi,再除以180。要将其用于Math.sin(),只需将其转换为:

double angle = 90;    //90 degrees
double result = Math.sin(angle*Math.PI/180);

仅使用转换本身不会改变任何东西,您必须将转换后的值传递给sin函数。

Java的
数学库为您提供了在度和弧度之间转换的方法:

如果您的输入以度为单位,则需要将进入
sin
的数字转换为弧度:

double angle = 90 ;
double result  = Math.sin( Math.toRadians( angle ) ) ;
System.out.println( result ) ;

如果弧度值为a,则将弧度值乘以(22/7)/180

对于上述情况,代码如下所示:-

double rad = 45            // value in radians.
double deg ;
deg = rad * Math.PI/180;   // value of rad in degrees.
如果要打印sin(90)度值,可以使用以下代码:

double value = 90.0;
double radians = Math.toRadians(value);

System.out.format("The sine of %.1f degrees is %.4f%n", value, Math.sin(radians));

是的,首先将度数值转换为弧度值。搜索“将度数转换为弧度”-或者更好,使用
Math.toRadians
。谢谢,我在提问之前尝试了所有这些,然后我重新意识到,我传递给Math.sin()方法的任何参数都有一个弧度值,这使得我很难给出一个数字的sin值的结果,数字是以度为单位的。请问我该怎么做?也许你没有注意到,
3.14159
从来没有被用作pi的值,而只是一个以弧度为单位的角度被转换成度
Math.PI
在PI的真实值非常重要的所有地方都被使用。为了确保你和阅读本文的人都知道:22/7只是大约PI
double value = 90.0;
double radians = Math.toRadians(value);

System.out.format("The sine of %.1f degrees is %.4f%n", value, Math.sin(radians));