BigDecimal類型轉化爲萬或億爲結尾

BigDecimal類型 自動轉化單位(萬\億)工具類

import java.math.BigDecimal;
/**
 * @author litong
 */
public class NumberUtil {
    private static final String UNIT_STRING_WAN = "萬";
    private static final String UNIT_STRING_YI = "億";
    /**
     * 裝換爲萬或億爲結尾
     *
     * @param amount 結果
     * @return
     */
    public static String formatNumber(BigDecimal amount) {
        if (amount == null) {
            return "0";
        }
        if (amount.compareTo(new BigDecimal(10000)) < 0) {
            //如果小於1萬
            return amount.stripTrailingZeros().toPlainString();
        }
        if (amount.compareTo(new BigDecimal(10000000)) < 0) {
            //如果大於1萬小於1億
            return amount.divide(new BigDecimal(10000), 2, BigDecimal.ROUND_DOWN).stripTrailingZeros().toPlainString() + UNIT_STRING_WAN;
        }
        return amount.divide(new BigDecimal(100000000), 2, BigDecimal.ROUND_DOWN).stripTrailingZeros().toPlainString() + UNIT_STRING_YI;
    }

    public static void main(String[] args) {
        System.out.println(formatNumber(BigDecimal.valueOf(1888L)));  //1888
        System.out.println(formatNumber(BigDecimal.valueOf(18888L)));  //1.88萬
        System.out.println(formatNumber(BigDecimal.valueOf(188888888L)));  //1.88億
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章