在Java中我试图绘制点,并且每个点之间的距离非常小(0.002)。
然而,当我绘制数据时,我发现有一些“漏洞”。在线图停止的图表中再继续一点。
所以,我开始打印出X值,我注意到这是一个疯狂的小数点,比它应该更长。
它应该只是.002的倍数,而是你有以下数字:
1.1740000000000008
如果您手动连续添加.002,那么您将无法获得该数字。
所以,我把这个代码摘要放在一起打印出Java,将两个双打加在一起,它的输出显示出错了。
public class Test {
public static void main(String[] args) {
Double rate = 0.002;
for (double x = 0.0; x < 60; x += rate) {
System.out.println("X: " + x + " --- Rate: " + rate);
}
}
}
正如您在第9次添加.002时所看到的那样,它改为添加0.002000000000000002,之后仅添加.002000000000000001。
任何人都可以向我解释这个吗?我应该如何解决它。