android DecimalFormat使用,保留小数点后x位

如果是double类型

double d = 40.00000;
DecimalFormat df = new DecimalFormat("###.00");
System.out.println(df.format(d));

如果是String类型,需要先转化成double类型:

String str = "40.00000";
double d = (new Double(str )).doubleValue();
DecimalFormat df = new DecimalFormat("###.00");
System.out.println(df.format(d));

这样就是保留小数点后两位小数,如果想保留三位,则为
DecimalFormat df = new DecimalFormat(“###.000”);

如果要转化的是String类型,需要返回的也是String类型,可以直接封装一个方法

/**
     * 只保留小数点后2位
     */
    public static String decimal(String num){
        //将String转换成double
        double d = (new Double(num)).doubleValue();
        DecimalFormat df = new DecimalFormat("###.00");  
        return df.format(d)+"";

    }

你可能感兴趣的:(android DecimalFormat使用,保留小数点后x位)