1. 程式人生 > >JS 處理科學計數法

JS 處理科學計數法

num = 1.25e-7
editE (num) {
      if (!num) return num
      num = num.toString()
      if (num.indexOf('e') === -1) { return num }
      let reg = /(?:(\d)+(?:.(\d+))?)[e]{1}-(\d)/.exec(num)
      if (!reg) {
        return num
      }
      let v = num
      if (reg[3] === '7') {
        v = '0.000000' + (reg[2] ? reg[1] + reg[2] : reg[1])
      } else {
        v = '0.0000000' + reg[1]
      }
      return v
    }
transNum (num) {
    let str = num.toString()
    let reg = /^(\d+)(e)([\-]?\d+)$/
    let arr, len,
        zero = '';
    if (!reg.test(str)) {
      return num
    } else {
      arr = reg.exec(str)
      console.log(arr)
      len = Math.abs(arr[3]) - 1
      for (let i = 0; i < len; i++) {
          zero += '0'
      }
      return '0.' + zero + arr[1]
    }