用BigDecimal的setScale(int scale) 方法

解决方案 »

  1.   

    NumberFormat nf = NumberFormat.getInstance();
    nf.setMaximumFractionDigits(2);
    desNum = nf.format(srcNum);
      

  2.   

    import java.text.*;
    import java.math.*;
    public class Test
    {
     public static void main(String[] args)
     {
      double  f  = 12.005; 
      BigDecimal  b  =  new  BigDecimal(f);  
      double  f1  =  b.setScale(2,  BigDecimal.ROUND_HALF_UP).doubleValue();  
      java.text.DecimalFormat  df  =new  java.text.DecimalFormat("#.00");  
      System.out.println(df.format(f1));
     }
    }
      

  3.   

    同Bruceyao(江湖小虾米) 
    这种方法比较简单
      

  4.   

    java.text.DecimalFormat df = new java.text.DecimalFormat("##,###,###.00");
    那为什么12.006能得到12.01,
    而12.005却得不到!
    12.015也能得到12.02