目录

我的学习分享

记录精彩的程序人生

【Java基础】DecimalFormat数字格式化用法“0”和“#”的区别

先来介绍一下“0”和“#”的区别

  1. 以“0”补位时:

如果数字少了,就会补“0”,小数和整数都会补;

如果数字多了,就切掉,但只切小数的末尾,整数不能切;

同时被切掉的小数位会进行四舍五入处理。

  1. 以“#”补位时:

如果数字少了,则不处理,不会补“0”,也不会补“#”;

如果数字多了,就切掉,但只切小数的末尾,整数不能切;

同时被切掉的小数位会进行四舍五入处理。

public class PriceUtil {
 
    public static String decimalFormat(float value) {
        DecimalFormat decimalFormat;
        decimalFormat = new DecimalFormat();
        decimalFormat.applyPattern("0.##");
        return decimalFormat.format(value);
    }
 
    public static String decimalFormat(double value) {
        DecimalFormat decimalFormat;
        decimalFormat = new DecimalFormat();
        decimalFormat.applyPattern("0.##");
        return decimalFormat.format(value);
    }
 
    public static String decimalFormat(String value) {
        if(value==null||value.isEmpty())
            return "0.00";
        double d = Double.parseDouble(value);
        DecimalFormat decimalFormat;
        decimalFormat = new DecimalFormat();
        decimalFormat.applyPattern("0.##");
        return decimalFormat.format(d);
    }
 
}

总结:

  1. “0”强制按格式对齐,“#”最充足的情况下以这样的格式对齐;

  2. “#”适用的场景是当小数位超过两位时,只显示两位,但只有一位或没有,则不需要补“0”;

  3. 整数位用多个“#”没有意义。

大家想用什么样的格式,可以自己去组装。

————————————————
版权声明:本文为CSDN博主「Android涛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40441190/article/details/85679760