欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決

 更新時(shí)間:2022年06月18日 11:43:26   作者:jasdolphin  
這篇文章主要介紹了BigDecimal divide除法除不盡報(bào)錯(cuò)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

BigDecimal divide除法除不盡報(bào)錯(cuò)

用BigDecimal做除法的時(shí)候,直接拿起兩數(shù)懟上除法有時(shí)候會(huì)出現(xiàn)除不盡就會(huì)報(bào)錯(cuò)

列如:

BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3));
System.out.println(re);

或:

BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3)).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(re);

直接這樣除是會(huì)出現(xiàn)除不盡報(bào)錯(cuò)的

解決辦法

除的時(shí)候直接截取位數(shù)就好了

BigDecimal a = new BigDecimal(10);
BigDecimal re = a.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);
System.out.println(re);

關(guān)于BigDecimal除法問題

BigDecimal做除法時(shí)

盡量使用divide(BigDecimal divisor, int scale, int roundingMode),這個(gè)方法

divisor:被除數(shù) scale保留小數(shù)位數(shù) roundingMode保留小數(shù)時(shí)采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)

如果不指定保留小數(shù)位數(shù),在遇到除不盡的情況下就會(huì)報(bào)錯(cuò)

BigDecimal源碼

try {
? ? quotient = this.divide(divisor, mc);
} catch (ArithmeticException e) {
? ? throw new ArithmeticException("Non-terminating decimal expansion; " +
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "no exact representable decimal result.");

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot用戶數(shù)據(jù)修改的詳細(xì)實(shí)現(xiàn)

    springboot用戶數(shù)據(jù)修改的詳細(xì)實(shí)現(xiàn)

    用戶管理功能作為所有的系統(tǒng)是必不可少的一部分,下面這篇文章主要給大家介紹了關(guān)于springboot用戶數(shù)據(jù)修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 比較java中Future與FutureTask之間的關(guān)系

    比較java中Future與FutureTask之間的關(guān)系

    在本篇文章里我們給大家分享了java中Future與FutureTask之間的關(guān)系的內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2018-10-10
  • Java的Synchronized關(guān)鍵字學(xué)習(xí)指南(全面 & 詳細(xì))

    Java的Synchronized關(guān)鍵字學(xué)習(xí)指南(全面 & 詳細(xì))

    這篇文章主要給大家介紹了關(guān)于Java的Synchronized關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 詳解Spring boot Admin 使用eureka監(jiān)控服務(wù)

    詳解Spring boot Admin 使用eureka監(jiān)控服務(wù)

    本篇文章主要介紹了詳解Spring boot Admin 使用eureka監(jiān)控服務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • Java 四種基本加密算法分析

    Java 四種基本加密算法分析

    這篇文章主要介紹了Java 四種基本加密算法分析的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 面試官:詳細(xì)談?wù)凧ava對(duì)象的4種引用方式

    面試官:詳細(xì)談?wù)凧ava對(duì)象的4種引用方式

    這篇文章主要給大家介紹了java面試官常會(huì)問到的,關(guān)于Java對(duì)象的4種引用方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Spring?Security使用數(shù)據(jù)庫登錄認(rèn)證授權(quán)

    Spring?Security使用數(shù)據(jù)庫登錄認(rèn)證授權(quán)

    本文主要介紹了Spring?Security使用數(shù)據(jù)庫登錄認(rèn)證授權(quán),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解Spring Boot中MyBatis的使用方法

    詳解Spring Boot中MyBatis的使用方法

    mybatis初期使用比較麻煩,需要各種配置文件、實(shí)體類、dao層映射關(guān)聯(lián)、還有一大推其它配置。當(dāng)然mybatis也發(fā)現(xiàn)了這種弊端。下面通過本文給大家詳細(xì)介紹Spring Boot中MyBatis的使用方法,感興趣的朋友一起看看吧
    2017-07-07
  • JAVA 16位ID生成工具類含16位不重復(fù)的隨機(jī)數(shù)數(shù)字+大小寫

    JAVA 16位ID生成工具類含16位不重復(fù)的隨機(jī)數(shù)數(shù)字+大小寫

    這篇文章主要介紹了JAVA 16位ID生成工具類含16位不重復(fù)的隨機(jī)數(shù)數(shù)字+大小寫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Java注解處理器學(xué)習(xí)之編譯時(shí)處理的注解詳析

    Java注解處理器學(xué)習(xí)之編譯時(shí)處理的注解詳析

    編譯時(shí)注解相信對(duì)每一個(gè)java開發(fā)者來說都不陌生,下面這篇文章主要給大家介紹了關(guān)于Java注解處理器學(xué)習(xí)之編譯時(shí)處理的注解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧
    2018-05-05

最新評(píng)論