1. java 保留小数点4位,不足时用0补足
Double 似乎不会记住当时有多少个 scale,而 BigDecimal 就会记住。所以这个 96.6000 跟 96.6 是一样的,不能区分出来,任何计算都可能把它转换成 96.6, 所以你还想要后面跟着几个占位的0就麻烦了。
如果是用 java.math.BigDecimal 就没有这个问题,它始终能记得需要几个小数位。如果你只是需要在转换成字符串时补齐4个位就容易了。
System.out.println("Double :" + new DecimalFormat("#,##0.0000").format(new Double("96.00000")));
2. java一个数字的位数不够怎么在前面加0
具体操作如下:
String str1="1";
DecimalFormat df=new DecimalFormat("0000");
String str2=df.format(Integer.parseInt(str1));
System.out.println(str2);