Подтвердить что ты не робот

Math.cos() дает неправильный результат

Согласно Wolfram Mathematica: cos (50)= 0,6427876096865394;

Но этот код в Java:

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

дает значение 0.9649660284921133.

Что случилось с java.lang.Math?

4b9b3361

Ответ 1

Math.cos() ожидает, что параметр находится в радианах. Это вернет результат, который вам нужен:

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

Ответ 2

Math.cos() использует радианы, поэтому, чтобы получить ожидаемый результат, вам нужно сделать

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

Ответ 3

Степени < > радианы...........

Ответ 4

Большинство тригонометрических функций Java ожидает, что параметры будут в радианах. Вы можете использовать Math.toRadians() для преобразования:

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

Ответ 5

Для меня...

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))));

возвращает

+0,9649660284921133
0.9649660284921133
0.6427876096865394
0,6427876096865394



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

cos(50deg) дает тот же результат, что и cos(50)... поэтому по умолчанию Wolfram является степенью.