/** * 將數字分段顯示,每三位用逗號隔開 * @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