如何在双打中将小数设置为仅2位数?

时间:2013-04-24 12:12:42

标签: java android

在我的回复中,我得到的值为80.00000

DecimalFormat df = new DecimalFormat("##.##");
TextField.setText(df.format(Double.parseDouble(custom.getValue())));

我的问题是我得到80.000,我正在做一个parseDouble,它将返回一个原始的double类型,我正在做一个格式到这个双倍2 decimals

为什么我会80代替80.00

我改变了方向并尝试了这个。

TextField.setText(String.format("%2f",Double.parseDouble(custom.getValue()))); 

现在我正在考虑80.000000而不是80.00

4 个答案:

答案 0 :(得分:10)

应该是"%.2f"而不是"%2f"

TextField.setText(String.format("%.2f",Double.parseDouble(custom.getValue())));

您忘了添加.

答案 1 :(得分:2)

  

为什么我得到80而不是80.00?

第一个例子应该是:

DecimalFormat df = new DecimalFormat("##.00");

否则将禁止任何非重要的小数位。

答案 2 :(得分:2)

java.text.NumberFormat是一个不错的选择

final NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
nf.setGroupingUsed(false);
System.out.println(nf.format(123456789.123456789));

答案 3 :(得分:0)

在String.format参数中将%2f更改为%.2f