最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一個(gè)Java中BigDecimal的問題記錄

 更新時(shí)間:2021年11月25日 10:08:58   作者:愛編程的小魚  
這篇文章主要給大家介紹了關(guān)于Java中一個(gè)BigDecimal問題的相關(guān)資料,通過文中介紹的方法可以很方便的解決BigDecimal進(jìn)行計(jì)算的時(shí)候不管怎么計(jì)算,最后得到的值都沒有變化的問題,需要的朋友可以參考下

題主今天在用 BigDecimal 進(jìn)行計(jì)算的時(shí)候,遇到一個(gè)問題,那就是不管怎么計(jì)算,最后得到的值都沒有變化,這里題主就有些疑惑了,用的也是推薦的API,先看代碼:

BigDecimal totalPay = new BigDecimal("0");
BigDecimal totalIncomeOfMaster = new BigDecimal("0");
BigDecimal totalIncomeOfLB = new BigDecimal("0");
BigDecimal totalRebate = new BigDecimal("0");
if (CollectionUtils.isNotEmpty(rebateDetailVOS.getList())) {
    for (RebateDetailVO rebateDetailVO : rebateDetailVOS.getList()) {
        totalPay.add(rebateDetailVO.getFinalPayOfUser());
        totalIncomeOfMaster.add(rebateDetailVO.getFinalIncomeOfMaster());
        totalIncomeOfLB.add(rebateDetailVO.getFinalIncomeOfLB());
        totalRebate.add(rebateDetailVO.getRebateAmt());
    }
}

初次觀察,這份代碼沒有問題,但是運(yùn)行之后的結(jié)果沒有達(dá)到預(yù)期,于是題主進(jìn)入add()方法內(nèi)部觀看了一下源碼:

問題就出在這里,這里會(huì)返回一個(gè)new BigDecimal 對(duì)象,所以求和的值并不會(huì)被記錄。

然后題主就對(duì)代碼進(jìn)行修改:

BigDecimal totalPay = new BigDecimal("0");
BigDecimal totalIncomeOfMaster = new BigDecimal("0");
BigDecimal totalIncomeOfLB = new BigDecimal("0");
BigDecimal totalRebate = new BigDecimal("0");
if (CollectionUtils.isNotEmpty(rebateDetailVOS.getList())) {
    for (RebateDetailVO rebateDetailVO : rebateDetailVOS.getList()) {
        totalPay = totalPay.add(rebateDetailVO.getFinalPayOfUser());
        totalIncomeOfMaster = totalIncomeOfMaster.add(rebateDetailVO.getFinalIncomeOfMaster());
        totalIncomeOfLB = totalIncomeOfLB.add(rebateDetailVO.getFinalIncomeOfLB());
        totalRebate = totalRebate.add(rebateDetailVO.getRebateAmt());
    }
}

結(jié)果達(dá)到預(yù)期

附:Java中 BigDecimal 值小數(shù)點(diǎn)后的最大位數(shù)是多少?

解決方案

這幾乎是無限的。如果將scale設(shè)置為整數(shù)的最大值,則可以在小數(shù)點(diǎn)后存儲(chǔ)大約20億個(gè)數(shù)字,但如果嘗試執(zhí)行此操作,可能會(huì)耗盡內(nèi)存。如果您需要存儲(chǔ)這么多的數(shù)字以確定限制是一個(gè)問題,那么您可能需要重新考慮程序的設(shè)計(jì)。

參見 BigDecimal文檔

不可變,任意精度的帶符號(hào)十進(jìn)制數(shù)。 BigDecimal由任意精度整數(shù)非標(biāo)度值和32位整數(shù)標(biāo)度組成。如果為零或正數(shù),則比例是小數(shù)點(diǎn)右側(cè)的位數(shù)。如果是負(fù)數(shù),則將數(shù)字的未縮放值乘以10來表示比例的否定。因此,BigDecimal表示的數(shù)字的值是(unscaledValue×10 -scale )。

總結(jié)

到此這篇關(guān)于Java中一個(gè)BigDecimal問題的文章就介紹到這了,更多相關(guān)Java BigDecimal問題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot實(shí)現(xiàn)跨域的幾種常用方式總結(jié)

    SpringBoot實(shí)現(xiàn)跨域的幾種常用方式總結(jié)

    跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源,或者涉及到兩個(gè)不同域名的資源之間的交互,由于同源策略(Same Origin Policy)的限制,瀏覽器不允許跨域請(qǐng)求,本文小編給大家分享了SpringBoot實(shí)現(xiàn)跨域的幾種常用方式,需要的朋友可以參考下
    2023-09-09
  • SpringBoot中讀取配置的七種方法總結(jié)

    SpringBoot中讀取配置的七種方法總結(jié)

    在Spring Boot應(yīng)用中,讀取配置是一項(xiàng)基礎(chǔ)且重要的任務(wù),Spring Boot提供了多種靈活的方式來讀取配置,以滿足不同場(chǎng)景下的需求,本文將詳細(xì)介紹Spring Boot中讀取配置的幾種常用方法,需要的朋友可以參考下
    2024-08-08
  • Java String類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java String類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java String類詳解,本文經(jīng)多方資料的收集整理和歸納,最終撰寫成文,非常不錯(cuò),值得收藏,需要的的朋友參考下
    2017-04-04
  • Java Class 加密工具 ClassFinal詳解

    Java Class 加密工具 ClassFinal詳解

    ClassFinal 是一款 java class 文件安全加密工具,支持直接加密jar包或war包,無需修改任何項(xiàng)目代碼,兼容spring-framework;可避免源碼泄漏或字節(jié)碼被反編譯,這篇文章主要介紹了Java Class 加密工具 ClassFinal,需要的朋友可以參考下
    2023-03-03
  • 在springboot中注入FilterRegistrationBean不生效的原因

    在springboot中注入FilterRegistrationBean不生效的原因

    這篇文章主要介紹了在springboot中注入FilterRegistrationBean不生效的原因及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Struts2 自定義下拉框Tag標(biāo)簽

    Struts2 自定義下拉框Tag標(biāo)簽

    這篇文章主要介紹了Struts2 自定義下拉框Tag標(biāo)簽的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 詳解Java如何創(chuàng)建Annotation

    詳解Java如何創(chuàng)建Annotation

    在本文中,我們將介紹注解的基礎(chǔ)知識(shí),包括注解是什么,它們?nèi)绾卧谑纠惺褂茫约叭绾翁幚硭鼈?。下面和小編一起來學(xué)習(xí)吧
    2019-05-05
  • 一文教你如何使用Java靈活讀取Excel內(nèi)容

    一文教你如何使用Java靈活讀取Excel內(nèi)容

    這篇文章主要給大家介紹了關(guān)于如何使用Java靈活讀取Excel內(nèi)容的相關(guān)資料,讀取Excel數(shù)據(jù)是Java開發(fā)中常見的任務(wù),文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • java8如何根據(jù)某一屬性條件快速篩選list中的集合

    java8如何根據(jù)某一屬性條件快速篩選list中的集合

    這篇文章主要介紹了java8如何根據(jù)某一屬性條件快速篩選list中的集合,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java 判斷一個(gè)數(shù)組中的數(shù)值是否連續(xù)相鄰的方法

    java 判斷一個(gè)數(shù)組中的數(shù)值是否連續(xù)相鄰的方法

    下面小編就為大家分享一篇java 判斷一個(gè)數(shù)組中的數(shù)值是否連續(xù)相鄰的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論

江川县| 昌都县| 龙南县| 昭苏县| 鹿邑县| 长宁县| 万安县| 辽阳县| 陵川县| 夏河县| 阳曲县| 大姚县| 白玉县| 巴中市| 上高县| 民乐县| 马边| 长沙市| 建德市| 治多县| 宜城市| 镇坪县| 滁州市| 刚察县| 丰县| 织金县| 射阳县| 弥勒县| 松滋市| 泗洪县| 邓州市| 长治市| 潜山县| 密云县| 龙海市| 枣阳市| 雅江县| 岚皋县| 马边| 晋城| 盖州市|