1. 程式人生 > >在考慮存在小數情況下,如何每隔三個數加一個逗號(JS)

在考慮存在小數情況下,如何每隔三個數加一個逗號(JS)

function transform (number) {
    // 將number轉為String型別
    let num = number + ''
    //  將一個浮點數分為一個數組,第一個元素是整數部分,第二個元素是小數部分
    let numArr = num.split('.')
    // 使用結構賦值
    let [int, dotNum] = numArr
    // [...int]相當於int.split('')
    let revint = [...int].reverse()
    let len - revint.length
    let res = []
    for (let i = 0; i < len; i++) {
    // 從個位開始遍歷
         if((i + 1) % 3 === 0 && i !== len - 1 ) {
              res.push(',')
         }
    }
    // 判斷是否有小數
    if (dotNum) {
        res.reverse().push('.', ...dotNum)
        // 將結果轉為Number型別
        return res.join('')
    } else {
        return res = res.reverse().join('')
    }
}

// JS最大準確數為16位,超過自動擷取
console.log(transform(745646465734.2358745));

這個函式是抄別人程式碼,當初學習的時候,順便回顧字串與陣列型別的互相轉化,es6的語法。