是什么原因导致Math.tan无法正常工作?

时间:2019-05-11 21:18:29

标签: java math

我的问题很简单。如您现在所见,tan(45)等于1。但是当我使用Math.tan(45)时,它输出1.6197751905438615。

我不知道它是否有帮助,但这是我使用的代码:

double angle = Math.tan(45);

有什么想法为什么不起作用?

1 个答案:

答案 0 :(得分:3)

Math.tan的自变量是弧度中的一个角度。 (这在the Javadoc for that method中有所提及。)您要以为单位给它一个角度。

要解决此问题,可以使用Math.toRadians(乘以π / 180)将角度从角度转换为弧度:

double angle = Math.tan(Math.toRadians(45));

请注意,由于精度(表示和计算)的限制,精确不会为1;在我的机器上,结果约为0.9999999999999998889776975。