JavaScript digital transfer amount lowercase uppercase

function numToText(number) {
  let AA = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖')
  let BB = new Array('', '拾', '佰', '仟', '萬', '亿')
  let reverseStr = number.split('').reverse().join('')
  let result = ''
  let unit = 0
  reverseStr.replace(/\d{1,4}/g, function ($1) {
    if (unit !== 0) {
      if (unit%2 !== 0) {
        $1 = BB[4] + $1
      } else {
        $1 = BB[5] + $1
      }
    }
    $1 = $1.replace(/\d/g, function (x1, idx) {
      if (x1 !== '0') {
        let idx1 = (unit > 0) ? (idx-1) : idx
        return (BB[idx1] + AA[x1])
      } else {
        return AA[x1]
      }
    })
    result += $1
    unit += 1
  })
  result = result.replace(/[零]{2,}/g, function (x1) {
    return '零'
  }).split('').reverse().join('')

  result = result.replace(/(零仟)|(零拾)/g, function (x1) {
    return ''
  }).replace(/(零亿)|(零亿零萬)/g, function (x1) {
    return '亿'
  }).replace(/(零萬)/g, function (x1) {
    return '萬'
  }).replace(/零$/, function (x1) {
    return ''
  })

  result += '元整'
  return result
} 

operation result:

Number The = the let '123 456 009 011'
console.log (numToText (Number The)) // Erbai Sanshi wantonly one hundred million one thousand fifty six million Bai Jiuqian One zero one hundred yuan a whole


Number The = the let '123456789'
console.log (numToText (Number The)) // one billion Erqian Triple Bai Si Shi Wu Wan Lu thousand yuan whole Jiu Bashi Qibai

Published 27 original articles · won praise 4 · Views 6291

Guess you like

Origin blog.csdn.net/studentenglish/article/details/94645414