根据数字返回对应的中文汉字

177 阅读1分钟
toChinese (section) {
  const chnNumChar = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
  const chnUnitChar = ['', '十', '百', '千']
  let strIns = ''
  let chnStr = ''
  let unitPos = 0
  let zero = true
  let v
  if (section > 9 && section < 20) {
    v = section % 10
    chnStr = '十' + chnNumChar[v]
    if (v === 0) {
      chnStr = '十'
    }
  } else {
    while (section > 0) {
      v = section % 10
      if (v === 0) {
        if (!zero) {
          zero = true
          chnStr = chnNumChar[v] + chnStr
        }
      } else {
        zero = false
        strIns = chnNumChar[v]
        strIns += chnUnitChar[unitPos]
        chnStr = strIns + chnStr
      }
      unitPos++
      section = Math.floor(section / 10)
    }
  }
  return chnStr
}