色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java用BigDecimal解決double類(lèi)型相減時(shí)可能存在的誤差

瀏覽:78日期:2022-09-01 16:17:15

double類(lèi)型的兩個(gè)數(shù)相減可能存在誤差,比如System.out.println(2099 - 1999.9);的結(jié)果為99.09999999999991

可以用BigDecimal解決:

public class TestDouble { //兩個(gè)Double數(shù)相減 public static Double sub(Double d1, Double d2) { if (d1 == null || d2 == null) { return null; } BigDecimal b1 = new BigDecimal(d1.toString()); BigDecimal b2 = new BigDecimal(d2.toString()); return b1.subtract(b2).doubleValue(); } //兩個(gè)Double數(shù)相加 public static Double add(Double d1, Double d2) { if (d1 == null || d2 == null) { return null; } BigDecimal b1 = new BigDecimal(d1.toString()); BigDecimal b2 = new BigDecimal(d2.toString()); return b1.add(b2).doubleValue(); } //兩個(gè)Double數(shù)相除,并保留scale位小數(shù) public static Double div(Double d1, Double d2, int scale) { if (d1 == null || d2 == null || scale < 0) { return null; } BigDecimal b1 = new BigDecimal(d1.toString()); BigDecimal b2 = new BigDecimal(d2.toString()); return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } // 兩個(gè)Double數(shù)相乘 public static Double mul(Double d1, Double d2) { if (d1 == null || d2 == null) { return null; } BigDecimal b1 = new BigDecimal(d1.toString()); BigDecimal b2 = new BigDecimal(d2.toString()); return b1.multiply(b2).doubleValue(); } /** * 遇到.5的情況時(shí)往上近似 * * @param d * @param scale * @return */ public static Double setDoubleScale(Double d, int scale) { if (d == null || scale < 0) { return null; } BigDecimal b = new BigDecimal(d); return b.setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } public static void main(String[] args) { Double d1 = 2099d; Double d2 = 1999.999; System.out.println(d1 - d2); System.out.println(sub(d1, d2)); System.out.println('------------------------------------'); System.out.println(d1 * d2); System.out.println(mul(d1, d2)); System.out.println('------------------------------------'); System.out.println(d1/d2); System.out.println(div(d1,d2,4)); }}

結(jié)果:

99.0009999999999899.001------------------------------------4197997.9014197997.901------------------------------------1.04950052475026251.0495

到此這篇關(guān)于Java用BigDecimal解決double類(lèi)型相減時(shí)可能存在的誤差的文章就介紹到這了,更多相關(guān)Java double相減誤差內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲三级一区 | 亚洲毛片视频 | 国产精品专区第二 | 亚洲成人视 | 美女张开腿给男生桶下面视频 | 日韩男人的天堂 | 成年人在线视频观看 | selaoban在线视频免费精品 | 国产福利社区 | 最新99国产成人精品视频免费 | 亚洲产国偷v产偷v自拍涩爱 | 国产成人福利视频在线观看 | 久久狠 | 国产欧美一区二区三区视频 | 模特视频一二三区 | 成年男女免费视频 | 黄色a三级三级三级免费看 黄色a网 | a级日韩乱理伦片在线观看 a级特黄毛片免费观看 | 亚洲男人的天堂在线视频 | 欧美色大成网站www永久男同 | 欧美一级高清片 | 黄色毛片一级 | 亚洲aⅴ男人的天堂在线观看 | 国产九九精品 | 中美日韩在线网免费毛片视频 | 国产精品理论片在线观看 | 国产成人18黄网站免费网站 | 日本成人中文字幕 | 日韩美一区二区 | 男女国产视频 | 国产亚洲一路线二路线高质量 | 国产美女主播一级成人毛片 | 日韩亚洲在线 | 在线观看91精品国产入口 | 亚洲日本aⅴ片在线观看香蕉 | 亚洲国产精品一区二区久久 | 国产美女精品视频 | 美国人成毛片在线播放 | 在线免费观看亚洲视频 | 亚洲国产成人91精品 | 国产欧美一区二区三区精品 |