我正在用 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
,结果是not确切地pi/2
,因此当您将这个非精确值传递给cos
它给出了一个非精确值。戳这里听听传说 :-)
至于你的情况,你需要对结果进行四舍五入cos
。看一看here
你可以这样做:
public void actionPerformed(ActionEvent evt) {
input = Double.valueOf(Display.getText());
ans = Math.cos(Math.toRadians(input));
Display.setText(String.format("%.6f", ans));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)