package cn.cecep.talroad.util;

import cn.hutool.core.util.NumberUtil;
import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;

/**
 * @author hehongyu
 * @description: 获取数字格式
 * @date 2023/6/28 22:34
 */
public class NumberUtils {

    /**
     * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0
     */
    public static BigDecimal getBigDecimalDefaultZero(String value){
        if (!NumberUtil.isNumber(value)){
            return BigDecimal.ZERO;
        }
        if (StringUtils.isBlank(value)){
            return BigDecimal.ZERO;
        }
        return new BigDecimal(value);
    }

    /**
     * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0
     */
    public static BigDecimal getBigDecimalDefaultNull(String value){
        if (!NumberUtil.isNumber(value)){
            return null;
        }
        if (StringUtils.isBlank(value)){
            return null;
        }
        return new BigDecimal(value);
    }

    /**
     * 字符串格式化成 浮点数 失败 或者 非数字 默认返回0
     */
    public static Double getDoubleDefaultZero(String value){
        if (!NumberUtil.isNumber(value)){
            return (double) 0;
        }
        if (StringUtils.isBlank(value)){
            return (double) 0;
        }
        return new Double(value);
    }
}
