1. 程式人生 > >double格式化工具類

double格式化工具類

這是專案中用到的double格式化工具類,記錄於此。


import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * Created by LY on 2017/3/7.
 * double格式化工具類
 */
public class DoubleFormatUtil {

    /**
     * @param number 需要保留兩位的數,四捨五入
     * @return
     */
    public static double halfUpFormat(double number) {
        // 將double型別轉為BigDecimal
        BigDecimal bigDecimal = new BigDecimal(number);
        // 保留兩位小數,並且四捨五入
        return bigDecimal.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
    }

    /**
     * @param number 需要保留兩位的數
     * @return
     */
    public static double saveTwoFormata(double number) {
        DecimalFormat decimalFormat = new DecimalFormat("#.00");
        return Double.valueOf(decimalFormat.format(number));
    }

    /**
     * @param number 需要保留兩位的數
     * @return
     */
    public static double saveTwoFormatb(double number) {
        String result = String.format("%.2f", number);
        return Double.valueOf(result);
    }

    /**
     * @param number 需要保留兩位的數
     * @return
     */
    public static double saveTwoFormatc(double number) {
        NumberFormat numberFormat = NumberFormat.getNumberInstance();
        // 保留兩位小數
        numberFormat.setMaximumFractionDigits(2);
        // 如果不需要四捨五入,可以使用RoundingMode.DOWN
        numberFormat.setRoundingMode(RoundingMode.HALF_UP);
        return Double.valueOf(numberFormat.format(number));
    }

    /**
     * @param number 需要保留兩位的數
     * @return
     */
    public static double saveTwoFormatd(double number) {
        return (double)Math.round(number * 100) / 100;
    }

}