用DecimalFormat能不能直接把123.456格式化成123:45
小数第三未不进行四舍无入

解决方案 »

  1.   

    好象都是四舍五入的。
    用下列方法可不四舍五入:
    public static String format(double num, int precision){
    String fN = "" + num;
    int index = fN.indexOf("."); int len = fN.length();
    for (int i = index + precision; i >= len; i--){
    fN = fN + "0";
    }
    return fN.substring(0, index + precision + 1);
    }
      

  2.   

    //import java.util.*;
    //import java.text.*;//如果不是double可先由String转换成double
    public static String decimalFormat(double data)
      {
        Double db=Double.valueOf(String.valueOf(data*100));
        NumberFormat format=new DecimalFormat("###,###.##");
        format.setMinimumFractionDigits(2);
        String result=format.format((db.intValue()/100d));
        result=result.replace('.',':');
        System.out.println(data+" after format is : "+result);
        return result;
      }