//环比值=(当日营业额-昨日营业额)/昨日营业额*100%计算
export const calc_hb_str = function (cur, pre) {
  if (pre == 0) {
    return '0.00%'
  }
  return conver_num_rate(formater((cur - pre) / pre * 100));
};

//同比值=(当日营业额-上个月同一日营业额)/上个月同一日营业额*100%计算
export const calc_tb_str = function (cur, pre) {
  if (pre == 0) {
    return '0.00%'
  }
  return calc_hb_str(cur, pre)
};

//计算占比
export const calc_zb_str = function (item, total) {
  if (item == 0 || total == 0) {
    return '0.00%'
  }
  return formater(item / total * 100) + '%';
};


//conver amont
export const conver_amont = function (amont) {
  return amont ? formater(amont / 10000) : "0.0";
};

//Positive and negative
export const conver_num_rate = function (amont) {
  if (amont > 0) {
    return "+" + amont + "%"
  } else {
    return amont + "%"
  }
};

/**
 * 保留两位小数
 * @param amont
 * @returns {string|*}
 */
export const conver_num_retain = function (amont) {
  return formater(amont)
}

export const convert_num_unit = function (params) {
  return formater(params.data) + "万元"
}

//数字金额显示
function formater(data) {
  if (!data) return '0.00'
  // 将数据分割,保留两位小数
  data = data.toFixed(2)
  // 获取整数部分
  const intPart = Math.trunc(data)
  // 整数部分处理,增加,
  const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  // 预定义小数部分
  let floatPart = '.00'
  // 将数据分割为小数部分和整数部分
  const newArr = data.toString().split('.')
  if (newArr.length === 2) { // 有小数部分
    floatPart = newArr[1].toString() // 取得小数部分
    return intPartFormat + '.' + floatPart
  }
  return intPartFormat + floatPart
}

/**
 * @param num: 被操作数
 * @param n: 固定的总位数
 */
export const prefixZero = function (num, n) {
  return (Array(n).join(0) + num).slice(-n);
}