import java.text.*;class fnum
{
  DecimalFormat df = new DecimalFormat("#.00"); 
  
  public static void main(String k[]){
     fnum f = new fnum();
  }
  
  public fnum(){
     StringBuffer d = new StringBuffer("");
     df.format(1123.33333,d,new FieldPosition(2));
     
     System.out.println(d);
  }
  
  
  
}

解决方案 »

  1.   

    如果想保证精度的同时要求四舍五入的话
    这样也行:
    float f = 34.232323;
    BigDecimal b = new BigDecimal(f);
    float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();// b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数
    上面是对float类型的处理,如果对double的,则将上面所有的float字段换成double就行
      

  2.   

    btw:上面的那位所说,就是下面这个意思
    float scale;
    DecimalFormat fnum = new DecimalFormat("##0.00");
    String dd=fnum.format(scale);  
    System.out.println(dd);