Java中的小细节---浮点数运算要小心
Java中的小细节—浮点数运算要小心
我们免不了会对浮点数进行运算,那么下面的结果是否是你想要的呢?
System.out.println(3.0-2.4==0.6);
结果是true?还是false呢?我们来看一下吧。
我们看,在输出的结果中我们发现,尾部会有一个1,其原因就是由于浮点数精度问题,那么我们怎么解决呢?
这里我们就要用到BigDecimal类了,BigDecimal类用来对浮点型进行精确的运算。在商业计算中,我们就要用到它。再用BigDecimal类中的subtract()方法来计算两个BigDecimal对象的值。此处若要用到这个值,我们便需要将其转换为·double类型或float类型。这里我们要注意,new BigDecimal(“3.0”)括号里一定要用双引号。而c.doubleValue()便是将其转换为double类型的值。## 标题