一個數字用逗號分隔的方法

/**
   * 將數字分段顯示,每三位用逗號隔開
   * @param {Number} value
   */
  formatNumber (value) {
    if (!value) return '0'
    let intPart = null
    if (value.toString().indexOf('.') === -1) {     // 判斷是不是整數並獲取整數部分
      intPart = value
    } else {
      intPart = Number(value).toFixed(0)
    }
    // 將整數部分逢三一斷
    const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')

    let floatPart = ''       // '' | '.00':預約義小數部分
    const value2Array = value.toString().split('.')

    // =2表示數據有小數位
    if (value2Array.length === 2) {
      floatPart = value2Array[1].toString()       // 拿到小數部分

      if (floatPart.length === 1) {     // 補0
        return intPartFormat + '.' + floatPart + '0'
      } else {
        return intPartFormat + '.' + floatPart
      }
    } else {
      return intPartFormat + floatPart
    }
  }

執行方法:code

formatNumber(12345)        // 12,345
相關文章
相關標籤/搜索