java的-0和0_java中格式化数字0和#区别public static void main(String[] args) {
//0第⼀种情况实际数字位数被占位符位数多的时候
//整数部分不动,⼩数部分四舍五⼊
String str="42.1521";
System.out.println(new DecimalFormat("0.0").format(new BigDecimal(str)));//42.2
System.out.println(new DecimalFormat("0.000").format(new BigDecimal(str)));//42.152
//0第⼆种情况实际数字位数⽐占位数少的的时候,整数部分和⼩数部分都会⽤0来替代
System.out.println("--------------------------------");
String str1="4.15";
System.out.println(new DecimalFormat("0000.0000").format(new BigDecimal(str1)));//0004.1500
System.out.println(new DecimalFormat("00.00").format(new BigDecimal(str1)));//04.15
/
/# 第⼀种情况,实际数字⽐占位符数字多的时候
//整数部分不动,⼩数部分四舍五⼊
System.out.println("--------------------------------");
String str2="4.15210";
System.out.println(new DecimalFormat("#.#").format(new BigDecimal(str2)));//4.2
System.out.println(new DecimalFormat("#.###").format(new BigDecimal(str2)));//4.152
System.out.println(new DecimalFormat("##.>").format(new BigDecimal(str2)));//4.1521
bigdecimal格式化两位小数//#第⼆种情况,实际数字位数⽐占位符数字少的时候
//整数部分和⼩数部分都不动(⼩数后⾯的0会抹去)
System.out.println("--------------------------------");
String str3="4.10";
System.out.println(new DecimalFormat("#.#").format(new BigDecimal(str3)));//4.1
System.out.println(new DecimalFormat("#.###").format(new BigDecimal(str3)));//4.1
System.out.println(new DecimalFormat("##.>").format(new BigDecimal(str3)));//4.1
//总结⼀下其实当实际数字位数⼤于占位符的位数,0和#都会将⼩数部分四舍五⼊,
//当实际数字位数⼩于占位符位数时,#是不会补充位数的,0会将少的位数补上,并且#会将后⾯的0去掉
}

发表评论