2013-07-20 9 views
5

Chciałbym przekonwertować Math.sin(x), gdzie x w radianach do wyniku, który da mi jako x w stopniach, a nie radianach.Konwersja wyniku Math.sin (x) do wyniku dla stopni w java

Użyłem zwykłej metody i java zbudowanej w metodzie konwersji między stopniami a radianami, ale każdy argument, który przechodzę do metody Math.sin() jest traktowany jak radian, przez co moje nawrócenie jest daremnym wysiłkiem.

Chcę, aby dane wejściowe sin zostały podane tak, jakby dane wejściowe były traktowane w stopniach, a nie w radianach, tak jak ma to miejsce w przypadku metody Math.sin().

+0

Tak, najpierw przelicz wartość swoich stopni na wartość radianów. Wyszukaj "przekonwertuj stopnie na radiany" - lub lepiej użyj "Math.toRadians". –

Odpowiedz

10

Math biblioteki Java daje metody konwersji pomiędzy stopniach i radianach: toRadians i toDegrees:

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

Jeśli wejście jest w stopniach, trzeba przekonwertować liczbę wchodząc na sin na radiany:

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

Dziękuję, wcześniej wypróbowałem to wszystko przedtem, zanim zadałem pytanie, potem przekonałem się, że jakikolwiek argument przekazany do metody Math.sin() będzie traktowany ma wartość radianową, co utrudnia mi podanie wyniku Wartość grzechu liczby, z liczbą w stopniach. Proszę, jak mogę to zrobić? –

0

można przekształcić radiany na stopnie tak:

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

I odwrotne do konwersji stopni na radiany (pomnożyć przez PI/180). Nie możesz zmienić "metody wprowadzania" dla Math.sin (nie możesz powiedzieć funkcji, aby używać stopni zamiast radianów), możesz zmienić tylko to, co przekazałeś jako parametr. Jeśli chcesz, aby reszta programu działała ze stopniami, musisz przekonwertować go na radiany, szczególnie dla Math.sin(). Innymi słowy, należy pomnożyć wartość stopni przez PI i podzielić przez 180. Żeby użyć Math.sin(), po prostu przekształcić go tak:

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

Wystarczy za pomocą konwersji sama niczego nie zmienia, musisz przekazać skonwertowaną wartość do funkcji sin.

+0

Być może spudłowałeś, że '3.14159' nigdy nie było używane jako wartość pi, ale jedynie kąt w radianach, który ma być konwertowany na stopnie. 'Math.PI' zostało użyte we wszystkich miejscach, w których prawdziwa wartość pi była ważna. – kevinsa5

1

jeśli twoja wartość jest równa radianowi, pomnóż wartość radianową przez (22/7)/180.

Kod byłoby tak do powyższej sytuacji: -

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

Jeśli chcesz wydrukować sin (90) Wartość stopnia, można użyć tego kodu:

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

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