Math.cos,sin和tan在Java中返回不正确的值

我正在使用带有Java GUI的计算器。该项目已完成,但是三角函数无法正常运行。这是cos函数的方法:

public void actionPerformed(ActionEvent evt) {

input = Double.valueOf(Display.getText());

ans = Math.cos(Math.toRadians(input));

Display.setText(String.valueOf(ans));

}

其中“显示”是文本区域。问题在于函数返回的值不正确。例如,当我输入90并单击cos按钮时,将返回数字6.123233995736766E-17。sin和tan按钮也以类似的方式不准确(如有必要,我可以进一步解释)。代码哪里出了问题,我该如何解决

回答:

传回的值cos不正确。当您输入90并使用方法将其转换为弧度时Math.toRadians,结果

完全是pi/2,因此当您将此非精确值传递给cos它时,它会给出非精确值。偷看这里,听听传说中的消息

:-)

根据您的情况,您需要对的结果取整cos。在这里看看

您可以执行以下操作:

public void actionPerformed(ActionEvent evt) {

input = Double.valueOf(Display.getText());

ans = Math.cos(Math.toRadians(input));

Display.setText(String.format("%.6f", ans));

}

以上是 Math.cos,sin和tan在Java中返回不正确的值 的全部内容, 来源链接: utcz.com/qa/414464.html

回到顶部