BigInteger和BigDecimal--数字运算精度的设置
2016-12-02 15:44
513 查看
在《Effective Java》这本书中也提到这个原则,float和double只能用来做科学计算或
者是工程计算,在商业计算中我们要用 java.math.BigDecimal。
BigDecimal(double val) long float int 都可以
BigDecimal(String val)
代码:
BigDecimal bigd1 = new BigDecimal(2.00f);
BigDecimal bigd2 = new BigDecimal(1.99f);
BigDecimal bigd3 = bigd1.subtract(bigd2);
bigd3= bigd3.setScale(4, BigDecimal.ROUND_HALF_UP); //四舍五入
System.out.println(bigd3);//
结果是:0.0100
直接代码
System.out.println(2.00f-1.99f);//
结果可能是 0.00999999
者是工程计算,在商业计算中我们要用 java.math.BigDecimal。
BigDecimal(double val) long float int 都可以
BigDecimal(String val)
代码:
BigDecimal bigd1 = new BigDecimal(2.00f);
BigDecimal bigd2 = new BigDecimal(1.99f);
BigDecimal bigd3 = bigd1.subtract(bigd2);
bigd3= bigd3.setScale(4, BigDecimal.ROUND_HALF_UP); //四舍五入
System.out.println(bigd3);//
结果是:0.0100
直接代码
System.out.println(2.00f-1.99f);//
结果可能是 0.00999999
相关文章推荐
- 大数字运算( BigInteger 、 BigDecimal)
- BigInteger、BigDecimal、数字格式化
- java大数字操作:BigInteger,BigDecimal(浮点型)
- 处理大数字BigInteger与BigDecimal
- JAVA中大数字的的处理:BigInteger和BigDecimal
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- Java 工具类总结(4): 保证精度的运算 - BigInteger / BigDecimal
- 数字操作类Math,Random,BigInteger,BigDecimal
- 【正整数模板运算(C++手写BigInteger类和java.math.BigInteger以及java.math.BigDecimal)】
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- 处理大数字BigInteger与BigDecimal
- Java大数字运算之BigInteger[原创]_java_脚本之家
- 处理大数字BigInteger与BigDecimal
- 任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal)
- 高精度运算类(BigInteger,BigDecimal)
- 黑马程序员----日期Date类,日历 Calendar类。Math类的一部分,大数据运算BigInteger,BigDecimal。
- 处理大数字BigInteger与BigDecimal
- 【原】biginteger。大数乘法。大数运算。“无限大数字”乘法。大数乘法两种方法对比
- 特别大的数的阶乘问题,利用BigInteger进行运算
- 大数BigInteger精确数Decimal的运算操作