Math.cos()给出了错误的结果
根据Wolfram Mathematica: cos(50) = 0.6427876096865394 ;
但是这个Java代码:
System.out.println(Math.cos(50));
给出0.9649660284921133 。
java.lang.Math
什么问题?
Math.cos()
期望参数以弧度表示。 这将返回您需要的结果:
Math.cos(Math.toRadians(50));
Math.cos()
使用弧度 ,所以得到您需要的预期结果
System.out.println(Math.cos(Math.toRadians(50)));
度<>弧度………..
大部分Java三angular函数都希望参数以弧度表示。 你可以使用Math.toRadians()来转换:
System.out.println(Math.cos(Math.toRadians(50)));
为了我…
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(50deg)
相同的结果…所以Wolfram是默认的程度。