java保留小数点后几位,不足的用0补

在 java 中,若是小数点最后位是0,double类型会把这个0去掉,好比4.30变成了4.3,这样致使有的界面显示很差看。java

因此要转换下,以下方法code

/**
     * 将double格式化为指定小数位的String,不足小数位用0补全
     *
     * @param v     须要格式化的数字
     * @param scale 小数点后保留几位
     * @return
     */
    public static String roundByScale(double v, int scale) {
        if (scale < 0) {
            throw new IllegalArgumentException(
                    "The   scale   must   be   a   positive   integer   or   zero");
        }
        if(scale == 0){
            return new DecimalFormat("0").format(v);
        }
        String formatStr = "0.";
        for(int i=0;i<scale;i++){
            formatStr = formatStr + "0";
        }
        return new DecimalFormat(formatStr).format(v);
    }
相关文章
相关标签/搜索