double格式化工具类

版权声明:本文为luoyong原创文章,转载请注明出处!https://blog.csdn.net/luoyong_blog https://blog.csdn.net/luoyong_blog/article/details/84253888

这是项目中用到的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;
    }

}

猜你喜欢

转载自blog.csdn.net/luoyong_blog/article/details/84253888