BigDecimal类
常用方法
add:两个数相加
setScale:设置保留两位整数:四舍五入
subtract:减法
multiply:乘法
divide:除法
public static void main(String[] args) { double a = 1.2000000; double b = 1.35433; double c = a + b; System.out.println(c); //会出现精度问题 计算不准确 System.out.println(0.05 + 0.01); System.out.println(1.0 + 0.42); //使用bigDecimal,先将类型转成字符串(为了避免精度问题) BigDecimal num1 = new BigDecimal("0.051"); BigDecimal num2 = new BigDecimal("0.012"); //两个数相加 BigDecimal sum = num1.add(num2); System.out.println(sum); //设置保留两位整数 四舍五入 sum = sum.setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println(sum); //减法 sum = num1.subtract(num2); System.out.println(sum); //乘法 sum = num1.multiply(num2); System.out.println(sum); //除法 sum = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP); System.out.println(sum);}
BigDecimal类
常用方法
add:两个数相加
setScale:设置保留两位整数:四舍五入
subtract:减法
multiply:乘法
divide:除法
public static void main(String[] args) { double a = 1.2000000; double b = 1.35433; double c = a + b; System.out.println(c); //会出现精度问题 计算不准确 System.out.println(0.05 + 0.01); System.out.println(1.0 + 0.42); //使用bigDecimal,先将类型转成字符串(为了避免精度问题) BigDecimal num1 = new BigDecimal("0.051"); BigDecimal num2 = new BigDecimal("0.012"); //两个数相加 BigDecimal sum = num1.add(num2); System.out.println(sum); //设置保留两位整数 四舍五入 sum = sum.setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println(sum); //减法 sum = num1.subtract(num2); System.out.println(sum); //乘法 sum = num1.multiply(num2); System.out.println(sum); //除法 sum = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP); System.out.println(sum);}
举报