将数字转换为金额显示,每三位逗号隔开,保留decimal位小数,并加前缀

点点圈 提交于 2019-12-05 23:47:00
 /**
     * 将数字转换为金额显示,每三位逗号隔开,保留decimal位小数
     *
     * @param money   数字
     * @param decimal 小数位
     * @return
     */
    public static String moneyFormat(BigDecimal money, int decimal) {
        if (money == null) {
            return null;
        } else if (new BigDecimal(0).equals(money)) {
            return "0";
        } else if (decimal < 1) {
            decimal = 2;
        }
        StringBuilder pattern = new StringBuilder("#,###.");
        for (int i = 0; i < decimal; i++) {
            pattern.append('0');
        }
        DecimalFormat df = new DecimalFormat(pattern.toString());
        String format = df.format(money);
        return format;
    }

    /**
     * 将数字转换为金额显示,每三位逗号隔开,保留decimal位小数,并加前缀
     *
     * @param money   数字
     * @param decimal 小数位
     * @param symbol  金额前缀,如¥或$
     * @return
     */
    public static String moneyFormat(BigDecimal money, int decimal, String symbol) {
        return symbol + moneyFormat(money, decimal);
    }


    /**
     * 将数字转换为金额显示,每三位逗号隔开,默认保留两位小数
     *
     * @param money 数字
     * @return
     */
    public static String moneyFormat(BigDecimal money) {
        return moneyFormat(money, 2);
    }

将数字转换为金额显示,每三位逗号隔开,保留decimal位小数,并加前缀

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!