【每日一题6day|难度:简单】千分位处理数据

87 阅读1分钟
//千分位表示法
{
  // 判断分类:负数,小数,整数
  const convert = (number) => {
    const target = number.toString()
    if (target[0] === '-'&&target.split('.').length <= 1) {
      return '-' + formatNumber(target.split('-')[1])
    } else if (target.split('.').length > 1) {
      return formatNumber(target.split('.')[0]) + '.' + target.split('.')[1]
    } else if (target[0] === '-' && target.split('.').length > 1) {
      return '-' + formatNumber(target.split('.')[0]) + '.' + target.split('.')[1]
    }else{
      return formatNumber(target)
    }
  }
  // 处理分割整数部分
  const formatNumber = (target) => {
    const res = []
    for (let i = 0; i < target.length; i++) {
      if ((target.length - i) % 3 === 0 && i) {
        res[i] = `,${target[i]}`
      } else {
        res[i] = target[i]
      }
    }
    return res.join('')
  }
  console.log(convert(1234))
}