2012-10-19 15 views

Odpowiedz

89

Math.cos() oczekuje, że parametr będzie w radianach. To zwróci wynik trzeba:

Math.cos(Math.toRadians(50)); 
+2

+1. Tylko dla odniesienia, jak OP mówił o wolfram http://www.wolframalpha.com/input/?i=cos%2850rad%29 –

+0

Czy istnieje wersja Math.cos() w Javie, która współpracuje z Degrees, lub musimy stale pamiętać, aby ręcznie konwertować stopnie na radiany? –

3

Degrees <> radianów ...........

+0

Co oznacza ta odpowiedź? Stopień jest równoważny radianowi ... ale "1 stopień = 0,0174532925 radianów" – Manu

+2

@Manu "Ale" jest częścią twojego komentarza, dlatego nie są one równoważne;) To tak, jakby powiedzieć, że kilogramy i kamień są równoważne. Mierzą tę samą ilość, oczywiście, ale na różne sposoby. – phant0m

13

Math.cos() używa radiany, tak aby uzyskać planowanej spowodować trzeba zrobić

System.out.println(Math.cos(Math.toRadians(50))); 
3

Większość funkcji trygonometrycznych Java oczekuje, że parametry będą w radianach. Można użyć Math.toRadians() w celu konwersji:

System.out.println(Math.cos(Math.toRadians(50))); 
-2

Dla mnie ...

System.out.println(Math.cos(50)); 
System.out.println(Math.cos(new Double(50))); 
System.out.println(Math.cos(Math.toRadians(50))); 
System.out.println(Math.cos(Math.toRadians(new Double(50)))); 

powraca

0,9649660284921133
0,9649660284921133
0,6427876096865394
0,6427876096865394



http://www.wolframalpha.com/input/?i=cos%2850deg%29

cos(50deg) daje taki sam wynik jak cos(50) ... więc Wolfram jest stopień domyślnie.

+0

Wolfram Alpha domyślnie nie używa stopni! Raczej próbuje być sprytny. – phant0m

+0

Co to jest domyślny wolfram alfa, stopień lub radian lub ...? Czy jest inna baza? Czy możesz podać więcej argumentów na temat tego, co piszesz? Twój komentarz nie podaje żadnych informacji w rzeczywistości! Moja odpowiedź nie odpowiada na początkowe pytanie, więc ok dla flagi "-1", ale wydaje mi się, że przydaje się więcej informacji na temat tej rozmowy. – Manu

+0

Wolfram Alpha próbuje odgadnąć, czy twoje dane wejściowe są w radianach czy stopniach: jeśli wartość jest mniejsza niż 5, wydaje się, że interpretuje ją jako radian, jeśli jest większa lub równa 5, interpretuje ją jako stopnie;) Zrobiłem wolność aby poprawić wyjście, które Java faktycznie tworzy po wykonaniu tego kodu. – phant0m