Newer
Older
xc-business-system / src / commonMethods / useRound.ts
dutingting on 30 Mar 2024 704 bytes 需求表68、69、70、71,bug修复
/**
 * 保留小数位方法
 * @params value [Number, String]: 原数据
 * @params n [Number]: 保留的位数,默认保留整数
 * @params addZero [Boolean]: 是否补0,默认补0
 * @return [String]: 处理后的字符串
 */
export function useRound(value: string | number, n = 0, addZero = true) {
  if (value === '') { return '' }
  if (isNaN(Number(value))) {
    return value
  }
  value = Number(value)
  let ret = `${Math.round(value * 10 ** n) / 10 ** n}`
  const decimalStr = ret.split('.')[1] || ''
  if (addZero) {
    const len = n - decimalStr.length
    if (!decimalStr && len) {
      ret += '.'
    }
    for (let i = 0; i < len; i++) {
      ret += '0'
    }
  }
  return ret
}