今天看到了这个3*0.1==0.3,于是上网查了一下。我们的计算机用的是10进制的算法,它是用10的质子也就是2和5来进行运算。
System.out.println(3*0.1);
打印的结果为:0.30000000000000004
但是我换一个运算结束后的尾数能被2或5整除的
System.out.println(3*0.5);
打印的结果为:1.5
可能我这样比较难以理解。我把我看到的这个运算原理链接贴在下面。
https://blog.csdn.net/ialexanderi/article/details/78936466