怎么解决bigdecimal去除小数里面无限循环小数的问题

BigDecimal除法注意事项
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的,异常如下:java.lang.ArithmeticException:
Non-terminati no exact representable decimal
result. at java.math.BigDecimal.divide(Unknown
解决之道:就是给divide设置精确的小数点divide(xxxxx,2,
BigDecimal.ROUND_HALF_EVEN)&
BigDecimal定义了一下舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,下面简单介绍,详细请查阅J2se
static int
ROUND_CEILING
&&&&&&&&&&
Rounding mode to round towards positive infinity.
向正无穷方向舍入
static int
ROUND_DOWN
&&&&&&&&&&
Rounding mode to round towards zero.
向零方向舍入
static int
ROUND_FLOOR
&&&&&&&&&&
Rounding mode to round towards negative infinity.
向负无穷方向舍入
static int
ROUND_HALF_DOWN
&&&&&&&&&&
Rounding mode to round towards "nearest neighbor" unless both
neighbors are equidistant, in which case round down.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入,&例如1.55&保留一位小数结果为1.5
static int
ROUND_HALF_EVEN
&&&&&&&&&&
Rounding mode to round towards the "nearest neighbor" unless both
neighbors are equidistant, in which case, round towards the even
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP&,如果是偶数,使用ROUND_HALF_DOWN
static int
ROUND_HALF_UP
&&&&&&&&&&
Rounding mode to round towards "nearest neighbor" unless both
neighbors are equidistant, in which case round up.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入,
1.55保留一位小数结果为1.6
static int
ROUND_UNNECESSARY
&&&&&&&&&&
Rounding mode to assert that the requested operation has an exact
result, hence no rounding is necessary.
计算结果是精确的,不需要舍入模式
static int
&&&&&&&&&&
Rounding mode to round away from zero.
向远离0的方向舍入
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。怎么解决BigDecimal里面无限循环小数的问题啊?_百度知道
怎么解决BigDecimal里面无限循环小数的问题啊?
提问者采纳
BigDecimal,出现无限循环小数时,2,就会抛这个异常:就是给divide设置精确的小数点divide(xxxxx。解决之道通过BigDecimal的divide方法进行除法时当不整除.ROUND_HALF_EVEN)
其他类似问题
为您推荐:
bigdecimal的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么解决BigDecimal里面无限循环小数的问题_百度知道
怎么解决BigDecimal里面无限循环小数的问题
给结果保留小数,可以直接给结果乘以100,按后取整数,除以100,
实际就是给结果保留两位小数
为您推荐:
bigdecimal的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么解决BigDecimal里面无限循环小数的问题_百度知道
怎么解决BigDecimal里面无限循环小数的问题
我有更好的答案
那么无限小数能否化成分数,有限小数是十进分数的另一种表现形式、千分之几……的数、百分之几,任何一个有限小数都可以直接写成十分之几,因此循环小数如何化分数 众所周知? 首先我们要明确,无限小数可按照小数部分是否循环分成两类
其他类似问题
为您推荐:
bigdecimal的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 bigdecimal不保留小数 的文章

 

随机推荐