package com.malk.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

public abstract class UtilMath {

    // 不要使用浮点数进行大小比较, 比较使用 BigDecimal
    public final static BigDecimal formatFloatRound(float value) {
        BigDecimal bd = new BigDecimal(value);
        return bd.setScale(2, RoundingMode.HALF_UP);
    }

    // 用来对超过16位有效位的数据进行精确的运算
    public final static BigDecimal formatDoubleRound(double value) {
        BigDecimal bd = new BigDecimal(value);
        return bd.setScale(2, RoundingMode.HALF_UP);
    }

    // Math.ceil 需要有浮点数, 否则转 int 类型忽略掉, 向上取整就会是当前值
    public final static int pagesOfTotalAndSize(int total, int size) {
        return (int) Math.ceil(total * 1.0f / size);
    }
}
