2011-05-24 110 views
1

我想設置的十進制值,下面是我的輸入字符串十進制轉換

String rate="1.000000000"; 

轉換爲雙:

Double converted=Double.valueOf(rate); 
DecimalFormat format=new DecimalFormat("#.########"); //Setting decimal points to 8 

System.out.println("ouput"+format.format(rate)); //Giving output as 1. 

我不明白如何做到這一點,任何提示請。

問候,

Chaitu

+0

下一次,請真的評論評論。 – MByD 2011-05-24 12:53:51

回答

5

嘗試

DecimalFormat format=new DecimalFormat("#.00000000"); 

System.out.println("ouput"+format.format(converted)); 
+0

@ user569125,你是什麼意思,它不工作? – mre 2011-05-24 12:46:35

+0

@user看我的編輯。你必須在'format()'中使用var''''。見http://ideone.com/El29N – 2011-05-24 12:47:01

4

#將不會顯示爲0,使用0代替:

String rate="1.010000000"; 
    Double converted=Double.valueOf(rate); 
    DecimalFormat format=new DecimalFormat("0.00000000");  
    System.out.println("ouput "+format.format(converted)); 
+0

@sthupahsmaht - 我發佈之前,我看到巴拉的編輯(關於'轉換') – MByD 2011-05-24 12:52:40

1

首先,您將字符串rate傳遞給DecimalFormat.format方法。這將失敗,你需要通過converted對象。

當我通過上述更改測試你的代碼時,我在輸出中得到了1.01。要格式化爲8位小數,請按照Bala Rs的評論。即DecimalFormat format = new DecimalFormat("#.00000000");