BigDecimal

BigDecimal精确运算要使用字符串构造方法

1.普通的BigDecimal运算

package com.gauncun;

import java.math.BigDecimal;

public class BigdecimalTest {
    public static void main(String[] args) {
        //精确运算使用字符串的构造
        BigDecimal bigDecimal=new BigDecimal("0.1");
        BigDecimal bigDecimal2=new BigDecimal("0.2");

        double a = Double.parseDouble(bigDecimal.toString());
        System.out.println("加法"+bigDecimal.add(bigDecimal2));
        System.out.println("减法"+bigDecimal.subtract(bigDecimal2));
        System.out.println("乘法"+bigDecimal.multiply(bigDecimal2));
        System.out.println("除法"+bigDecimal.divide(bigDecimal2));

    }
}

2.特殊的(除不尽的)

package com.gauncun;

import java.math.BigDecimal;

public class BigdecimalTest2 {
    public static void main(String[] args) {
        //精确运算使用字符串的构造
        BigDecimal bigDecimal=new BigDecimal("0.1");
        BigDecimal bigDecimal2=new BigDecimal("0.3");
        //bigDecimal.divide(另一个BigDecimal对象,精确几位,舍入模式)

        System.out.println("进一法除法"+bigDecimal.divide(bigDecimal2,2,BigDecimal.ROUND_UP));//进一法
        System.out.println("去尾法除法"+bigDecimal.divide(bigDecimal2,2,BigDecimal.ROUND_FLOOR));//去尾法
        System.out.println("四舍五入法s除法"+bigDecimal.divide(bigDecimal2,2,BigDecimal.ROUND_HALF_UP));//四舍五入法

    }
}

 

上一篇:编码规范、常用知识整理——Java


下一篇:精度计算总结 -- BigDecimal,NumberFormat 其他