人民币转大写方法

1.人民币转大写方法

  //人民币大写
    chineseNumber(num) {
      if (isNaN(num) || num > Math.pow(10, 12)) return ""
      var cn = "零壹贰叁肆伍陆柒捌玖"
      var unit = new Array("拾百千", "分角")
      var unit1 = new Array("万亿", "")
      var numArray = num.toString().split(".")
      var start = new Array(numArray[0].length - 1, 2)

      function toChinese(num, index) {
        var num = num.replace(/\d/g,
          function($1) {
            return cn.charAt($1) + unit[index].charAt(start--%4 ? start % 4 : -1)
          })
        return num
      }

      for (var i = 0; i < numArray.length; i++) {
        var tmp = ""
        for (var j = 0; j * 4 < numArray[i].length; j++) {
          var strIndex = numArray[i].length - (j + 1) * 4
          var str = numArray[i].substring(strIndex, strIndex + 4)
          var start = i ? 2 : str.length - 1
          var tmp1 = toChinese(str, i)
          tmp1 = tmp1.replace(/(.)+/g, "零").replace(/+$/, "")
          tmp1 = tmp1.replace(/^壹拾/, "拾")
          tmp = (tmp1 + unit1[i].charAt(j - 1)) + tmp
        }
        numArray[i] = tmp
      }

      numArray[1] = numArray[1] ? numArray[1] : ""
     /* numArray[0] = numArray[0] ? numArray[0] + "元": numArray[0],*/
      numArray[0] = numArray[0] ? numArray[0] + "元":"零元",
      numArray[1] = numArray[1].replace(/^+/, "")
      numArray[1] = numArray[1].match(//) ? numArray[1] : numArray[1] + "整"
      return numArray[0] + numArray[1]
    },

2.,需要转化的字段,调用此方法

this.singleBillList.money = this.chineseNumber((row.ql * row.price).toFixed(1))

你可能感兴趣的:(javascript,前端,html)