package com.common.lib_base.utils;


import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.List;

/**
 * Date: 2022/5/27 0027 14:51
 * Description:
 */
public class DataUtils {

//    public static boolean <T> listNotNull(List<T> list) {
//        if (list == null || list.size() <= 0) {
//            return false;
//        }
//        return true;
//    }


    public static boolean isValidNum(String str) {
        BigDecimal bd = new BigDecimal(str);
        BigDecimal bdZero = new BigDecimal("0");
        int i = bd.compareTo(bdZero);
        LogUtils.e("StringUtils:" + i);
        //返回的结果是int类型，-1表示小于，0是等于，1是大于
        if (i == 1 || i == 0) {
            return true;
        } else {
            return false;
        }
    }


    public static boolean isMoneyValid(String str1, String str2) {
        BigDecimal bd1 = new BigDecimal(str1);
        BigDecimal bd2 = new BigDecimal(str2);
        int i = bd1.compareTo(bd2);
        LogUtils.e("StringUtils--isMoneyValid:" + i);
        //返回的结果是int类型，-1表示小于，0是等于，1是大于
        if (i == 1 || i == 0) {
            return true;
        } else {
            return false;
        }
    }


    /**
     * 进行减法运算
     *
     * @param str1
     * @param str2
     * @return
     */
    public static String stub(String str1, String str2) {
        LogUtils.e("stub  str2:" + str2);
        BigDecimal bd1 = new BigDecimal(str1);
        BigDecimal bd2 = new BigDecimal(str2);
        // 进行减法运算
        return bd1.subtract(bd2).toString();
    }


    /**
     * 进行加法运算
     *
     * @param str1
     * @param str2
     * @return
     */
    public static String add(String str1, String str2) {
        LogUtils.e("stub  str2:" + str2);
        BigDecimal bd1 = new BigDecimal(str1);
        BigDecimal bd2 = new BigDecimal(str2);
        // 进行加法运算
        return bd1.add(bd2).toString();
    }

    /**
     * 乘法
     *
     * @param str1
     * @param str2
     * @return
     */
    public static String mul(String str1, String str2) {
        LogUtils.e("mul  str2:" + str2);
        BigDecimal bd1 = new BigDecimal(str1);
        BigDecimal bd2 = new BigDecimal(str2);
        // 进行乘法运算
        return bd1.multiply(bd2).toString();
    }

    /**
     * 除法
     * @param str1
     * @param str2
     * @return
     */
    public static String divide(String str1, String str2) {
        // 防止Division by zero
        if("0".equals(str2)){
            return "0";
        }
        LogUtils.e("divide  str1:" + str1+"  str2:"+str2);
        BigDecimal bd1 = new BigDecimal(str1);
        BigDecimal bd2 = new BigDecimal(str2);
        // 进行除法运算
        return bd1.divide(bd2,3, RoundingMode.HALF_UP).toString();
    }


    public static float div(int i, int j) {

        float num= (float)i/j;
        DecimalFormat df = new DecimalFormat("0.00");//格式化小数
        String s = df.format(num);//返回的是String类型
        if("1.00".equals(s)){
            s = 100+"";
        }
        float v = Float.parseFloat(s);
        return v;
    }

    public static float divFormat(int i, int j) {

        float num= Float.parseFloat(divide(i+"",j+""));
        DecimalFormat df = new DecimalFormat("0.00");//格式化小数
        String s = df.format(num);//返回的是String类型
        if("1.00".equals(s)){
            s = 100+"";
        }
        float v = Float.parseFloat(s);
        return v;
    }


}
