龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

Java Float類型 減法運算時精度丟失問題

2015.09.10 | 1024閱讀 | 0條評論 | 未命名

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ā)表評論