java数字保留有效位数及异常
2017-05-25 11:27
399 查看
调试项目时遇到
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
无穷小数位
这样我们在使用BigDecimal做【除法】或【乘法】一定要设置有效位数和舍入模式
一、除法运算
二、BigDecimal 保留有效位数
三、float/double保留有效位数
1. 方法一 转换为BigDecimal,然后参考二
2. 方法二
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
无穷小数位
这样我们在使用BigDecimal做【除法】或【乘法】一定要设置有效位数和舍入模式
一、除法运算
BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
二、BigDecimal 保留有效位数
b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
三、float/double保留有效位数
1. 方法一 转换为BigDecimal,然后参考二
2. 方法二
import java.text.DecimalFormat; String a = new DecimalFormat("###,###,###.##").format(100.12345 );
3. 方法三
float a = 123.2334f; float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)
相关文章推荐
- Java中数字的有效位数,和小数点后保留的小数位
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- java实现两个数相除并保留指定有效数字
- 【matlab】 关于保留小数位数&有效数字的问题
- java 保留字符串数字的位数,不够前面补0
- java保留小数有效位数
- java中如何使用BigDecimal使得Double类型保留两位有效数字
- java 商业中保留有效位数和小数位数
- Java保留有效位数的4种方法
- java 保留字符串数字的位数,不够前面补0
- java保留有效数字
- JAVA保留2位有效数字
- Java中怎样保留小数的有效位数,即从第一个不是0的数开始算起
- C++浮点数输出 保留有效数字位数设定
- Java保留小数点后数字位数
- Java 保留字符串数字的位数,不够前面补0
- java 保留字符串数字的位数,不够前面补0
- java保留两位有效数字
- SQL Server实现数字转字符保留几位有效位数