package cn.superdesk.uniorder.common.numerical;

import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/8/10 下午12:08
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/8/10 下午12:08
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@NoArgsConstructor
@Slf4j
public class AnBigDecimalUtils {

    public static BigDecimal getBigDecimal(BigDecimal input) {

        if (null == input) {
            return BigDecimal.ZERO;
        }

        return input;
    }

    public static BigDecimal getBigDecimal(String input) {

        if (null == input || "".equals(input)) {
            return BigDecimal.ZERO;
        }

        return new BigDecimal(input);
    }

    public static BigDecimal getBigDecimal(String input, BigDecimal defaultOrExceptionValue) {

        if (null == input) {
            return defaultOrExceptionValue;
        }

        try {
            return new BigDecimal(input);
        } catch (java.lang.NumberFormatException ne) {
            return defaultOrExceptionValue;
        }
    }

    public static BigDecimal getBigDecimal(Integer input) {

        if (null == input) {
            return BigDecimal.ZERO;
        }

        return new BigDecimal(input);
    }

    public static String getBigDecimalFormat(BigDecimal input) {

        if (null == input) {
            input = BigDecimal.ZERO;
        }

//		return new DecimalFormat("#,###,##0.00").format(input);
        return new DecimalFormat(",##0.00").format(input);
    }

}
