DecimalFormat數字格式化用法“0”和“#”的區別
阿新 • • 發佈:2019-01-03
先來介紹一下“0”和“#”的區別
1. 以“0”補位時:
如果數字少了,就會補“0”,小數和整數都會補;
如果數字多了,就切掉,但只切小數的末尾,整數不能切;
同時被切掉的小數位會進行四捨五入處理。
2. 以“#”補位時:
如果數字少了,則不處理,不會補“0”,也不會補“#”;
如果數字多了,就切掉,但只切小數的末尾,整數不能切;
同時被切掉的小數位會進行四捨五入處理。
public class PriceUtil { public static String decimalFormat(float value) { DecimalFormat decimalFormat; decimalFormat = new DecimalFormat(); decimalFormat.applyPattern("0.##"); return decimalFormat.format(value); } public static String decimalFormat(double value) { DecimalFormat decimalFormat; decimalFormat = new DecimalFormat(); decimalFormat.applyPattern("0.##"); return decimalFormat.format(value); } public static String decimalFormat(String value) { if(value==null||value.isEmpty()) return "0.00"; double d = Double.parseDouble(value); DecimalFormat decimalFormat; decimalFormat = new DecimalFormat(); decimalFormat.applyPattern("0.##"); return decimalFormat.format(d); } }
總結:
1. “0”強制按格式對齊,“#”最充足的情況下以這樣的格式對齊;
2. “#”適用的場景是當小數位超過兩位時,只顯示兩位,但只有一位或沒有,則不需要補“0”;
3. 整數位用多個“#”沒有意義。
大家想用什麼樣的格式,可以自己去組裝。