本文主要是介绍DecimalFormat(#,###.00)丢失个位数0,例如0.98就成了.98,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DecimalFormat("#,###.00")丢失个位数0
在做钱币格式化的时候遇到了问题,具体代码如下:
DecimalFormat df = new DecimalFormat("#,###.00");
df.format(money);
在处理df.format(1.2),df.format(12.345)这些的时候还算处理的不错,但是遇到0开头的小数时就会丢失整数位的0;0.1会成了.10,0.123会成为.12
这个问题是因为占位符"#"和"0"的使用导致的,合理的应该是:
DecimalFormat df = new DecimalFormat("#,##0.00");
这样,在整数部分没有值的时候,会把个位置为0,而不是处理成空串.
这个原理类似小数位的使用"#.00"与"#.##"的区别,前者必然有2位小数,后者最多有2位小数,也可能没有.
这篇关于DecimalFormat(#,###.00)丢失个位数0,例如0.98就成了.98的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!