日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java数值运算后精度丢失问题

發布時間:2025/7/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java数值运算后精度丢失问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近連續倆次遇到運算后數值精度丟失問題,所以記錄一下。

問題1:java計算百分比,應該得到57,可返回的就是56

  在java代碼中

BigDecimal progress;BigDecimal a = new BigDecimal(POF);BigDecimal b = new BigDecimal(RF);if(b.compareTo(a)==1&&b.subtract(a).longValue()<1000000){return 100;}progress = a.divide(b,2,BigDecimal.ROUND_UP);return progress*100 ;

這段代碼的計算都是用BigDecimal運算的,這沒什么問題。可惜啊!return progress*100 ; 功虧一簣!

?

BigDecimal progress;BigDecimal a = new BigDecimal(POF);BigDecimal b = new BigDecimal(RF);if(b.compareTo(a)==1&&b.subtract(a).longValue()<1000000){return 100;}progress = a.divide(b,2,BigDecimal.ROUND_UP); BigDecimal multiply = progress.multiply(new BigDecimal(100));return multiply.intValue();

?

問題二:??? 在jsp頁面中對金額計算,0.00元竟然還帶個負號

?

?在java中測試

?

double浮點型,計算結果確實不是0,而是一個近似0的負數。

解決方案:

(由于我后臺返回的數據都是保留小數點后兩位,所以對運算數字先升級運算,再對結果降級處理

累計其他 :{{$itzUtils.thousands(((dczqt*100-dczdcz*100)/100).toFixed(2))}}元</span>

?

轉載于:https://www.cnblogs.com/caoyajun33-blog/p/8029299.html

總結

以上是生活随笔為你收集整理的java数值运算后精度丢失问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。