1. 程式人生 > >JAVA中double型別計算精度控制

JAVA中double型別計算精度控制

偶遇一個問題,進行如下計算

public class Demo {
 public static void main(String[] args) {
  int i = 1;
  double d = i*0.005;
  System.out.println(d);
 }
}
使用JDeveloper開發時,計算結果得到了0.0050,精度出現問題。
又在Eclipse上測試了一下,發現結果是正確的。
很困惑為什麼不同的開發工具會有不同的結果。如果有大神知道還請告知。
但問題還是要解決的,因此使用精度控制的方法

import java.text.DecimalFormat;

public class Demo {  public static void main(String[] args) {   int i = 1;   double d = i*0.005;   DecimalFormat df = new DecimalFormat("#.###");   System.out.println(df.format(d));  } }

則可以得到正確的結果。