2013-07-20 44 views
5

我想将Math.sin(x)(其中x以弧度表示)转换为以不等于弧度的度数为x的结果。将Math.sin(x)的结果转换为java中度数的结果

我已经使用了度和弧度之间转换方法中的常规方法和java,但是传递给Math.sin()方法的任何参数都被当作弧度,因此导致我的转换是徒劳的。

我想要输入一个sin输入,就好像输入被视为度数不是弧度,如Math.sin()方法一样。

+0

是的,你首先将您的度数值转换为弧度值。搜索“将度数转换为弧度” - 或更好的方法是使用“Math.toRadians”。 –

回答

10

Java的Math库给你的方法来度和弧度之间转换:toRadianstoDegrees

public class examples 
{ 
    public static void main(String[] args) 
    { 
     System.out.println(Math.toRadians(180)) ; 
     System.out.println(Math.toDegrees(Math.PI)) ; 
    } 
} 

如果输入是度,你需要去的数量转换为sin为弧度:

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

谢谢,我之前在问这个问题之前尝试了所有这些,然后我重新确定了,无论我传递给Math.sin()方法的参数是否具有弧度值,都很难让我给出结果一个数字的Sin值,数字以度为单位。请问我该怎么做? –

0

可以弧度转换为度是这样的:

double rad = 3.14159; 
double deg = rad*180/Math.PI; 

和反向于度(/乘以PI 180)转换为弧度。您无法更改Math.sin的“输入法”(,您无法告诉函数使用度数而不是弧度),您只能更改将它作为参数传递给它的内容。如果您希望程序的其余部分使用度,则必须将其转换为弧度,特别是Math.sin()。换句话说,通过180. pi和除以乘以度值要使用Math.sin()用这个,只是转换它像这样:

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

只是用转换本身并不能改变什么,你必须将转换后的值传递给sin函数。

+0

也许你错过了'3.14159'从来没有被用作pi的值,而只是一个以弧度为单位的角度转换为度数。在所有pi的真实值很重要的地方都使用了Math.PI。 – kevinsa5

1

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

的代码会是这样对于上述情况: -

double rad = 45   // value in radians. 
double deg ; 
deg = rad * Math.PI/180; // value of rad in degrees. 
-1

如果你要打印的罪(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));