對於浮點數double和float資料DecimalFormat保留小數並且格式化並設定千分位數操作
阿新 • • 發佈:2019-01-22
//示例一:最多保留兩位小數 System.out.println("--------###,###.##---------------"); System.out.println(new DecimalFormat("###,###.##").format(1231111.58880));//多的四捨五入 System.out.println(new DecimalFormat("###,###.##").format(01111.58880));//多的四捨五入 System.out.println(new DecimalFormat("###,###.##").format(01111.7844));//多的四捨五入 System.out.println(new DecimalFormat("###,###.##").format(01112.98)); System.out.println(new DecimalFormat("###,###.##").format(01113.80)); System.out.println(new DecimalFormat("###,###.##").format(01114.8)); System.out.println(new DecimalFormat("###,###.##").format(01115.00)); System.out.println(new DecimalFormat("###,###.##").format(0.686)); System.out.println(new DecimalFormat("###,###.##").format(0.784)); System.out.println(new DecimalFormat("###,###.##").format(0.88)); System.out.println(new DecimalFormat("###,###.##").format(0.8)); System.out.println(new DecimalFormat("###,###.##").format(0)); //首末有零自動捨去-小數位多的四捨五入 //示例二:預設保留兩位小數(注意:整數為0的小數問題) System.out.println("--------###,###.00---------------"); System.out.println(new DecimalFormat("###,###.00").format(1111.5888));//多的四捨五入 System.out.println(new DecimalFormat("###,###.00").format(1111.7844));//多的四捨五入 System.out.println(new DecimalFormat("###,###.00").format(1112.98)); System.out.println(new DecimalFormat("###,###.00").format(1113.80)); System.out.println(new DecimalFormat("###,###.00").format(1114.8));//不足的末尾補零 System.out.println(new DecimalFormat("###,###.00").format(1115.00)); System.out.println(new DecimalFormat("###,###.00").format(0.686)); System.out.println(new DecimalFormat("###,###.00").format(0.784)); System.out.println(new DecimalFormat("###,###.00").format(0.88)); System.out.println(new DecimalFormat("###,###.00").format(0.8)); System.out.println(new DecimalFormat("###,###.00").format(0)); //注意:整數為0的小數,會出現整數部分不存在的問題。 //示例三:預設保留兩位小數(解決示例二中,整數為0的小數格式化後整數0消失問題) System.out.println("--------###,##0.00---------------"); System.out.println(new DecimalFormat("###,##0.00").format(1111.5888)); System.out.println(new DecimalFormat("###,##0.00").format(1111.7844)); System.out.println(new DecimalFormat("###,##0.00").format(1112.98)); System.out.println(new DecimalFormat("###,##0.00").format(1113.80)); System.out.println(new DecimalFormat("###,##0.00").format(1114.8)); System.out.println(new DecimalFormat("###,##0.00").format(1115.00)); System.out.println(new DecimalFormat("###,##0.00").format(0.686)); System.out.println(new DecimalFormat("###,##0.00").format(0.784)); System.out.println(new DecimalFormat("###,##0.00").format(0.88)); System.out.println(new DecimalFormat("###,##0.00").format(0.8)); System.out.println(new DecimalFormat("###,##0.00").format(0)); //在格式化的個位上設定0,保證整數部分為0的時候自動補0。 //示例四:預設保留兩位小數,整數部分設定最小顯示位數 System.out.println("--------000,000.00---------------"); System.out.println(new DecimalFormat("000,000.00").format(12222111.5888)); System.out.println(new DecimalFormat("000,000.00").format(1111.5888)); System.out.println(new DecimalFormat("000,000.00").format(1111.7844)); System.out.println(new DecimalFormat("000,000.00").format(1112.98)); System.out.println(new DecimalFormat("000,000.00").format(1113.80)); System.out.println(new DecimalFormat("000,000.00").format(1114.8)); System.out.println(new DecimalFormat("000,000.00").format(1115.00)); System.out.println(new DecimalFormat("000,000.00").format(0.686)); System.out.println(new DecimalFormat("000,000.00").format(0.784)); System.out.println(new DecimalFormat("000,000.00").format(0.88)); System.out.println(new DecimalFormat("000,000.00").format(0.8)); System.out.println(new DecimalFormat("000,000.00").format(0)); //在格式化的時候保證位數不足的時候自動補0,小數多的時候四捨五入 綜述: 0:格式化結構比實際數字的位數多,不足的地方用0補上; 0:格式化結構比實際數字的位數少,(小數部分多餘的四捨五入); #:格式化結構比實際數字的位數多,不變; #:格式化結構比實際數字的位數少,(小數部分多餘的四捨五入);