十进制格式的问题

时间:2013-06-21 13:20:56

标签: java formatting decimalformat

嘿,我使用以下代码将我的数字格式化为两位小数

public String format(double num)
{
    String temp="";
    DecimalFormat df=new DecimalFormat("R.##");
    temp=temp+df.format(num);
    return temp;
}

当我打印出结果时,它给了我一个只有一个小数位的答案。 请有人帮助我阻止它。

3 个答案:

答案 0 :(得分:1)

您在#中使用DecimalFormat,该字符表示“打印数字。如果为0,请将其删除。”

您需要使用0,其中0也打印为0。

E.g。

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

答案 1 :(得分:0)

 BigDecimal bd = new BigDecimal(123.12331312);

System.out.print(bd.setScale(2,1));

试试这个

答案 2 :(得分:0)

使用以下方式格式化

System.out.printf("%.2f",num);