BigDecimal的divide方法報錯
報錯:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
報錯語句:
a.divide(b));
原因:
JAVA中如果用BigDecimal做除法的時候一定要在divide方法中傳遞第二個引數,定義精確到小數點後幾位,否則在不整除的情況下,結果是無限迴圈小數時,就會丟擲以上異常。
解決方法:
a.divide(b, 2, BigDecimal.ROUND_HALF_UP);
總結:
注意這個divide方法有兩個過載的方法,一個是傳兩個引數的,一個是傳三個引數的:
//兩個引數的方法://傳入除數@param divisor value by which this {@code BigDecimal} is to be divided. //傳入round的模式@param roundingMode rounding mode to apply. //三個引數的方法://傳入除數@param divisor value by which this {@code BigDecimal} is to be divided. //傳入精度@param scale scale of the {@code BigDecimal} quotient to be returned. //傳入round的模式@param roundingMode rounding mode to apply.
作者:Winter_Soldier
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/430/viewspace-2806561/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python: invalid value encountered in divide以及invalid value encountered in double_scalars報錯PythonIDE
- BigDecimal的equals() 和 compareTo() 方法比較Decimal
- BigDecimalDecimal
- java中的BigDecimalJavaDecimal
- dbfread報錯ValueError錯誤解決方法Error
- D. Divide and EqualizeIDE
- BigDecimal使用注意的地方Decimal
- hive使用報錯解決方法Hive
- Leetcode 29 Divide Two IntegersLeetCodeIDE
- imagick使用readImage報錯 Failed to read the file 或者沒有報錯內容的解決方法AI
- 下載HuggingFace模型的方法以及報錯解決模型
- Nginx報504 gateway timeout錯誤的解決方法NginxGateway
- Java 中比較 BigDecimal 的陷阱JavaDecimal
- Java的BigDecimal比較大小JavaDecimal
- react元件內報implementation()方法錯誤!React元件
- BigDecimal計算Decimal
- BigDecimal轉StringDecimal
- BigDecimal 基本用法Decimal
- BigDecimal 詳解Decimal
- 生產環境BigDecimal用錯了,已哭暈在廁所。。。Decimal
- [ABC234G] Divide a SequenceIDE
- leetcode-29. Divide Two IntegersLeetCodeIDE
- [LeetCode] 29. Divide Two IntegersLeetCodeIDE
- Nginx 報錯 504 Gateway Time-out 的解決方法NginxGateway
- npm install報錯not found: python2的結局方法NPMPython
- kaldi的編譯安裝與報錯解決方法編譯
- 為什麼阿里巴巴禁止使用BigDecimal的equals方法做等值比較?阿里Decimal
- ceph叢集安裝報錯解決方法
- Django2.2 報錯:UnicodeDecodeError 解決方法DjangoUnicodeError
- 28-BigDecimal類Decimal
- 常用API(一):BigDecimalAPIDecimal
- Codeforces 1863F Divide, XOR, and ConquerIDE
- LeetCode T29 Divide Two IntegersLeetCodeIDE
- mysql登入報錯提示:ERROR 1045 (28000)的解決方法MySqlError
- docker pull下載映象時的報錯及其解決方法Docker
- 在使用 zabbix 4 時, orabbix 會報錯的處理方法
- idea執行java專案main方法報build failure錯誤的解決方法IdeaJavaAIUI
- PHP 方法重寫,引數不同,報錯: DeclarationPHP