Float xx = 2.0f; Float yy = 1.8f; Float tt = xx - yy; System.out.println("tttttt-----" + tt);
果然輸出結(jié)果是: tttttt-----0.20000005
再測試了幾個float類型的減法,除了*.0這樣的相減沒有異議之外,都存在這個問題,就是說float在相減的時候精度丟失了。后來在網(wǎng)上找到一段解決這個問題的辦法,記在這里:
BigDecimal b1 = new BigDecimal(Float.toString(xx)); BigDecimal b2 = new BigDecimal(Float.toString(yy)); float ss = b1.subtract(b2).floatValue(); System.out.println("ssss----" + ss);
發(fā)表評論