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

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

Java Float類型 減法運(yùn)算時(shí)精度丟失問(wèn)題

2015.09.10 | 1175閱讀 | 0條評(píng)論 | 未命名

Float xx = 2.0f; Float yy = 1.8f; Float tt = xx - yy; System.out.println("tttttt-----" + tt);

果然輸出結(jié)果是: tttttt-----0.20000005

再測(cè)試了幾個(gè)float類型的減法,除了*.0這樣的相減沒(méi)有異議之外,都存在這個(gè)問(wèn)題,就是說(shuō)float在相減的時(shí)候精度丟失了。后來(lái)在網(wǎng)上找到一段解決這個(gè)問(wèn)題的辦法,記在這里:

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ā)表評(píng)論