bigdecimal 除法除不尽的情况,BigDecimal 除法

  bigdecimal 除法除不尽的情况,BigDecimal 除法

  

目录

十进制除数除法除不尽报错解决办法关于BigDecimal除法问题BigDecimal做除法时BigDecimal源码

 

  

BigDecimal divide除法除不尽报错

用BigDecimal做除法的时候,直接拿起两数怼上除法有时候会出现除不尽就会报错

 

  列如:

  BigDecimal a=new BigDecimal(10);BigDecimal re=a . divide(new BigDecimal(3));系统。出去。println(re);或:

  BigDecimal a=new BigDecimal(10);BigDecimal re=a . divide(new BigDecimal(3)).setScale(2,BigDecimal .ROUND _ HALF _ UP);系统。出去。println(re);直接这样除是会出现除不尽报错的

  

解决办法

除的时候直接截取位数就好了

 

  BigDecimal a=new BigDecimal(10);BigDecimal re=a . divide(new BigDecimal(3),2,BigDecimal .ROUND _ HALF _ UP);系统。出去。println(re);

  

关于BigDecimal除法问题

 

  

BigDecimal做除法时

尽量使用除法(BigDecimal除数int scale,int roundingMode),这个方法

 

  除数:被除数规模保留小数位数舍入模式保留小数时采用的方法,一般使用BigDecimal .四舍五入(四舍五入)

  如果不指定保留小数位数,在遇到除不尽的情况下就会报错

  

BigDecimal源码

试试{ quotient=this。除(除数,MC);} catch(算术异常e){抛出新的算术异常(非终止十进制扩展;没有精确可表示的小数结果。);以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: