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);