在java中使用double和float时,会小概率出现精度不准备的问题,比如System.out.println(0.1 0.2);输出0.30000000000000004。 解决方法是使用BigDecimal。
BigDecimal有几个构造函数,建议用String参数的构造函数。
System.out.println(new BigDecimal(0.1)); 输出:0.1000000000000000055511151231257827021181583404541015625
System.out.println(new BigDecimal(“0.1″)); 输出:0.1