2012-01-23 87 views
-1

如果我想要一個double有9個小數位,我必須將其轉換爲一個字符串,然後回到一個雙重做這(字符串方法是我看到的設置精確)?。在任何情況下,例如,如果希望我的方法返回一個帶有9位小數的雙精度型,那麼設置double精度的常規方法是什麼。在Java中設置精度

回答

2

你感到困惑的雙重的內部表示之間,它的顯示。內部雙數字始終以相同的方式存儲,但您當然可以使用像DecimalFormat這樣的formater從您的雙數返回9個小數點。

1

用大小數得到9位小數

double d = 1.2345672626346; 
DecimalFormat df = new DecimalFormat("#.#########"); 
System.out.print(df.format(d)); 
0

您還可以使用:

DecimalFormat df = DecimalFormat.getInstance(Locale.getDefault()); 
df.setMinimumFractionDigits(9); //sets 9 digits after the '.' 
0
String formatedString = String.format("%.2f"); 

它presition設置爲5位o任何。

如果您只想使用這種方式打印它。

System.out.printf("%.5f",123.2342622467);