package com.lukouguoji.module_base.util;

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

public class NumberUtil {
    /**
     * 把金额从分为单位，转化为元为单位，保留最多两位小数(舍弃末尾的0)
     */
    public String getMoneyByYuan(long moneyByFen) {
        return getNoMoreThanTwoDigits(moneyByFen / 100.0);
    }

    /**
     * 对入参保留最多两位小数(舍弃末尾的0)，如:
     * 3.345->3.34
     * 3.40->3.4
     * 3.0->3
     */
    public String getNoMoreThanTwoDigits(double number) {
        DecimalFormat format = new DecimalFormat("0.##");
        //未保留小数的舍弃规则，RoundingMode.FLOOR表示直接舍弃。
        format.setRoundingMode(RoundingMode.FLOOR);
        return format.format(number);
    }

    public static void main(String[] args) {
        NumberUtil f = new NumberUtil();
        System.out.println(f.getMoneyByYuan(30002));
    }
}

