由于所有的数值都要被转化为二进制数,在此期间一定会造成数据的不精确或异常。为此,Java提供了BigDecimal来解决不精确的问题。但是需要注意的是,我们需要选择使用String参数的构造器,才能保证更高的精确。
import java.math.BigDecimal;
public class TestFloat {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(0.05+0.01);
BigDecimal bd1=new BigDecimal(0.05);
BigDecimal bd2=new BigDecimal(0.01);
System.out.println(bd1.add(bd2));
BigDecimal bd3=new BigDecimal("0.05");
BigDecimal bd4=new BigDecimal("0.01");
System.out.println(bd3.add(bd4));
}
}