JAVA number类型相减出现 "-0"

来源:互联网 发布:小米6相机算法 编辑:程序博客网 时间:2024/04/29 19:47

 

Number  args1 = new Float(522.42);

Numbers args2 = new Double(522.42);

Double result = args1.doubleValue() - args2.doubleValue();

结果result在四舍五入后(小数点后保留三位),结果为-0;

 

 

float类型在转换double类型过程中为出现精度误差,所以应该用

BigDecimal temp1 = new BigDecimal(String.valueOf(new Float(522.42)));

BigDecimal temp2 = new BigDecimal(String.valueOf(new Doubles(522.42)));

Double result = temp1 .doubleValue() - temp2 s.doubleValue();

这样就可以啦。。。

 

 

原创粉丝点击