2012-09-06 38 views
1

我想弄清楚如何總計到小數點後兩位。總數是一個EditText。我無法把它縮小到只有兩位小數。它有什麼不對?謝謝你的幫助。在EditText中捨去小數

public void macro() { 
    caloriesTotal = Double.parseDouble(calories.getText().toString()); 
    total = (caloriesTotal * .20)/9; 
    DecimalFormat round = new DecimalFormat ("###.##"); 
    round.format(total); 
    carbsTotal = (caloriesTotal * .40)/4; 
    proteinTotal = (caloriesTotal * .40)/4;  
    fat.setText(Double.toString(total)); 
    carbs.setText(Double.toString(carbsTotal)); 
    protein.setText(Double.toString(proteinTotal)); 
} 

回答

8

試試這個。

fat.setText(Double.valueOf(round.format(total))); 

當轉換任意數量的高達N個十進制數字的那麼需要該值存儲在任何變量或直接顯示像如上述我提到。

+2

你的答案更新的指示?這只是我答案的副本嗎?或者與我的回答有什麼不同? –

+0

謝謝,我弄明白了。我也會檢查你的。我使用了代碼'fat.setText(round.format(total));' –

3

簡單format()應該爲你做什麼,

DecimalFormat round = new DecimalFormat ("###.##"); 
String formatted = round.format(double_value); 
fat.setText(formatted); 
+0

你只是把代碼沒有解釋。我親愛的朋友,我的回答和你的回答之間的區別。 –

+1

請務必填寫相關的代碼並附上相關說明。正如你向他人建議的那樣。 –

+2

那麼,你的更新答案不會顯示任何解釋。而只是我的答案中的兩行文字的副本。 –

0

您可以使用String.format("%.2f", d),你的雙將被舍