在用到DecimalFormat 进行数字格式转换时经常用到
DecimalFormat decimalFormat = new DecimalFormat("#.00");
关于数字特殊字符 0 和 #的一些简单说明
#是一个特殊字符,用于数字部分;它表示显示数字,但是最前面和最后面的0不予显示。
data:02222.20
pattern:",###.##"
result:2,222.2
#用于整数部分没有数位的限制,但是用于小数部分,却有“最多只能有多少位小数的意思”,多余的进行舍入。
data:2222.222
pattern:",###.##"
result:2,222.22
0和#的用法是相近的,却又略有不同;不同之处在于:
0限制整数部分最少出现的位数;不足这个位数的,前面补0
data:22.26
pattern:"0,000.00" result:0,022.26
0限制小数部分出现的位数;不足补0,多的舍入
data:22.26
pattern:"00.000" result:22.260
pattern:"00.0"
result:22.3
很多资料都写到简单的数据格式化:
DecimalFormat decimalFormat = new DecimalFormat("#.00");
String s = decimalFormat.format(d);
但是以上这种方法转换时:
data:0.26谨防入坑!!!
pattern:"#.00" result:.26