1

合計を小数点以下2桁に切り上げる方法を見つけようとしています。合計はEditTextです。小数点以下2桁まで絞り込むことができません。何が悪いの?ご協力いただきありがとうございます。

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));
}
4

3 に答える 3

8

これを試して。

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

任意の数値を 10 進数の N 桁まで変換する場合、その値を任意の変数に格納するか、上記のように直接表示する必要があります。

于 2012-09-06T04:55:10.437 に答える
3

単にformat()あなたのためにするべきです、

DecimalFormat round = new DecimalFormat ("###.##");
String formatted = round.format(double_value);
fat.setText(formatted);
于 2012-09-06T05:00:55.813 に答える
0

使用できますString.format("%.2f", d)、あなたのダブルは丸められます

于 2012-09-06T06:04:27.277 に答える