2012-07-01 159 views
-2

可能重复:
Precision error with floats in Java
Double number's multiplication with out precision and commas字符串转换为Double

public class Test { 

    public static void main(String[] args) { 
     double d = Double.parseDouble("64.4"); 
     d -= 1; 
     System.out.println(d); 
    } 
} 

我期望是63.4但它打印63.400000000000006

我该如何解决这个问题, 谢谢。

+4

所以很多重复的...(http://stackoverflow.com/questions/6713673/precision-error-with-floats-in- java),[java double precision](http://stackoverflow.com/questions/6713673/precision-error-with-floats-in-ja VA)。 –

+0

直到执行减法后,才会在d中看到错误。它不是解析,它显示了一个错误,它产生了这种算术错误。 –

回答

1

使用的BigDecimal得到[用浮漂在Java中精度误差] RID浮点问题

BigDecimal bd=new BigDecimal("64.4"); 
bd=bd.subtract(new BigDecimal(1)); 
System.out.println(bd); 
相关问题