【Java基础】DecimalFormat数字格式化用法“0”和“#”的区别
先来介绍一下“0”和“#”的区别
- 以“0”补位时:
如果数字少了,就会补“0”,小数和整数都会补;
如果数字多了,就切掉,但只切小数的末尾,整数不能切;
同时被切掉的小数位会进行四舍五入处理。
- 以“#”补位时:
如果数字少了,则不处理,不会补“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);
}
}
总结:
-
“0”强制按格式对齐,“#”最充足的情况下以这样的格式对齐;
-
“#”适用的场景是当小数位超过两位时,只显示两位,但只有一位或没有,则不需要补“0”;
-
整数位用多个“#”没有意义。
大家想用什么样的格式,可以自己去组装。
————————————————
版权声明:本文为CSDN博主「Android涛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40441190/article/details/85679760