根据Wolfram Mathematica的说法: cos(50) = 0.6427876096865394 ;
但这段代码用Java:
System.out.println(Math.cos(50));
给出 0.9649660284921133 。
java.lang.Math
有什么问题?
答案 0 :(得分:97)
Math.cos()
期望参数以弧度为单位。这将返回您需要的结果:
Math.cos(Math.toRadians(50));
答案 1 :(得分:14)
Math.cos()
使用弧度,因此要获得您需要的预期结果
System.out.println(Math.cos(Math.toRadians(50)));
答案 2 :(得分:3)
大多数Java三角函数都希望参数以弧度为单位。您可以使用Math.toRadians()转换:
System.out.println(Math.cos(Math.toRadians(50)));
答案 3 :(得分:2)
度数<>弧度...........
答案 4 :(得分:-2)
对我来说......
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默认为度。