在考慮存在小數情況下,如何每隔三個數加一個逗號(JS)
阿新 • • 發佈:2018-12-18
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的語法。