当double类型数学计算精度偏差解决
使用Java.math包中的BigDecimal類進行高精度計算
????????1.? 通過構造函數的方式把要計算的值給BigDecimal對象傳入,使用BigDecimal對象進行乘除加減操作
//通過構造函數的方式把要計算的值給BigDecimal對象傳入,使用BigDecimal對象進行乘除加減操作 BigDecimal b1 =new BigDecimal(值);? ? ? ? 2.使用方法
????????add(BigDecimal) ? ? ? ?BigDecimal對象中的值相加,然后返回這個對象。?
????????subtract(BigDecimal) BigDecimal對象中的值相減,然后返回這個對象。?
????????multiply(BigDecimal) ?BigDecimal對象中的值相乘,然后返回這個對象。?
????????divide(BigDecimal) ? ? BigDecimal對象中的值相除,然后返回這個對象。?
????????toString() ? ? ? ? ? ? ? ?將BigDecimal對象的數值轉換成字符串。?
????????doubleValue() ? ? ? ? ?將BigDecimal對象中的值以雙精度數返回。?
????????floatValue() ? ? ? ? ? ? 將BigDecimal對象中的值以單精度數返回。?
????????longValue() ? ? ? ? ? ? 將BigDecimal對象中的值以長整數返回。?
????????intValue() ? ? ? ? ? ? ? 將BigDecimal對象中的值以整數返回。
? ? ? ? 3. 注意事項
? ? ? ? 把double類型作為值傳入構造函數依然無法解決計算精度偏差問題,解決方案,先把double類型轉化為String類型,再把String類型傳入BigDecimal構造函數,再進行調用方法計算即可。
只講實用,如果想看詳細的解釋和原理...可以參考以下兩篇博客
BigDecimal的使用方法_sunny-CSDN博客_bigdecimal使用
java 中 BigDecimal 詳解_代碼君的博客-CSDN博客_bigdecimal
總結
以上是生活随笔為你收集整理的当double类型数学计算精度偏差解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡销户还能恢复吗
- 下一篇: 继承和多态的区别[发现记混了,区别下]