为了能精确表示,计算浮点数,java提供了BigDecimal类,该类提供了大量的构造器用于创建BigDecimal对象,包括
把所有的基本数值型变量转换成一个BigDecimal对象,也包括利用数字字符串,数字字符数组来创建BigDecimal对象
BigDecimal类提供了add()方法,subtract(),multiply(),divide(),pow()方法对精确浮点数进行常规算术运算
public class BigDecimalTest{
public static void main(String[] args){
BigDecimal f1=new BigDecimal("0.05");
BigDecimal f2=new BigDecimal.valueOf(0.01);
BigDecimal f3=new BigDecimal.valueOf(0.05);
System.out.println(f1.add(f2));
System.out.println(f1.subtract(f2));
System.out.println(f1.multiply(f2));
System.out.println(f1.divide(f2));
}
}
//注意:创建BigDecimal对象时,不能直接使用double浮点数作为构造器参数来调用BigDecimal构造器,否则
同样会发生精度丢失的问题
时间: 2024-09-30 16:41:54