divide
bigdecimal中pide方法抛异常:Non-terminating decimal expansion; no exact representable decimal result
在使用
BigDecimal rate = new BigDecimal(1).pide(new BigDecimal(3));
时抛异常:
Non-terminating decimal expansion; no exact representable decimal result
原来是在做除法的时候出现了无限不循环小数如:0.333333333333
解决方案
在做做除法的时候指定保留的小数的位数:
BigDecimal rate = new BigDecimal(1).pide(new BigDecimal(3), 6, BigDecimal.ROUND_HALF_UP);
相关阅读
前阵子做题遇到了大数的精确计算,再次认识了bigdecimal关于Bigdecimal意外的有许多小知识点和坑,这里特此整理一下为方便以后学习,希
package cn.itcast_02;import java.math.BigDecimal;/** 构造方法:* public BigDecimal(String val):** 金融相关
BigDecimal比较大小使用compareTo(BigDecimal)方法。 int flag = bigdemical.compareTo(bigdemical1)flag = -1,表示bigdemical
BigDecimal a = new BigDecimal (101); BigDecimal b = new BigDecimal (111); //使用compareTo方法比较 //注意:a、b均不能为nul
1、BigDecimal类概述Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于