天天看點

3*0.1==0.3為什麼是false而不是true呢

今天看到了這個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