Java 十进制格式的问题

Java 十进制格式的问题,java,formatting,decimalformat,Java,Formatting,Decimalformat,嘿,我正在使用下面的代码将我的数字格式化为两位小数 public String format(double num) { String temp=""; DecimalFormat df=new DecimalFormat("R.##"); temp=temp+df.format(num); return temp; } 当我把结果打印出来时,答案只保留一位小数。 有人能帮我阻止吗 BigDecimal bd = new BigDecimal(123.1233

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

public String format(double num)
{
    String temp="";
    DecimalFormat df=new DecimalFormat("R.##");
    temp=temp+df.format(num);
    return temp;
}
当我把结果打印出来时,答案只保留一位小数。 有人能帮我阻止吗

 BigDecimal bd = new BigDecimal(123.12331312);

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

你在
十进制格式
中使用的
#
,它是一个字符,上面写着“打印数字。如果它是0,就把它去掉。”

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

例如


使用以下方式格式化

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