double型別保留兩位小數4種方法
阿新 • • 發佈:2019-02-09
public class DoubleFormat { double f = 111231.4585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(f1); } /** * DecimalFormat轉換最簡便 */ public void m2() { //#.00 表示兩位小數 DecimalFormat df = new DecimalFormat("#0.00"); System.out.println(df.format(f)); } /** * String.format列印最簡便 */ public void m3() { //%.2f %.表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型 System.out.println(String.format("%.2f", f)); } public void m4() { NumberFormat nf = NumberFormat.getNumberInstance(); //digits 顯示的數字位數 為格式化物件設定小數點後的顯示的最多位,顯示的最後位是舍入的 nf.setMaximumFractionDigits(2); System.out.println(nf.format(f)); } public static void main(String[] args) { DoubleFormat f = new DoubleFormat(); f.m1(); f.m2(); f.m3(); f.m4(); } //還有一種直接向上取整數 //java:Java的取整函式 //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函式,但返回值卻不一樣 /* Math.floor() 通過該函式計算後的返回值是捨去小數點後的數值 如:Math.floor(3.2)返回3 Math.floor(3.9)返回3 Math.floor(3.0)返回3 Math.ceil() ceil函式只要小數點非0,將返回整數部分+1 如:Math.ceil(3.2)返回4 Math.ceil(3.9)返回4 Math.ceil(3.0)返回3*/ }