import java.text.DecimalFormat;测试环境jdk1.4public class test 
{    
  public static void main(String args[]) 
  {
  double d = 0.123456;
  DecimalFormat df = new DecimalFormat("0.00");
  System.out.println(df.format(d));
  }
}

解决方案 »

  1.   

    楼上的很对,DecimalFormat类可以设置很多格式
      

  2.   

    import java.text.*;public class FormatData {
        public static String getResult(double num) {
            NumberFormat format = NumberFormat.getNumberInstance();
            format.setMaximumFractionDigits(2);
            return format.format(num);
        }    public static void main(String[] args) {
            FormatData f = new FormatData();        System.out.println(getResult(10.111111111));
        }
    }
      

  3.   

    double f = 12.005;
              BigDecimal b = new BigDecimal(f);
              double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
              DecimalFormat df = new DecimalFormat("#.00");
              System.out.println(df.format(f1));
      

  4.   

    http://expert.csdn.net/Expert/topic/2451/2451967.xml?temp=.8057825  
      是以前关于这个问题的一个帖子,有很多解答,你可以去看看,已经解帖了
      

  5.   

    先引入:
    import java.text.*;
    import java.util.Locale;
    然后在使用 engalw(烂仔) 的方法:
    NumberFormat numberformat = NumberFormat.getCurrencyInstance(Locale.CHINA);
          DecimalFormat decimalformat = (DecimalFormat)numberformat;
          decimalformat.setMinimumFractionDigits(2);
          decimalformat.setMaximumFractionDigits(2);
          decimalformat.setDecimalSeparatorAlwaysShown(true);
          String s = "$###,###.00";
          decimalformat.applyPattern(s);      double d=123456789.0002030301;      String result = decimalformat.format(d);
          System.out.println(result);
    结果: $123,456,789.00