Created
December 18, 2016 13:41
-
-
Save RhinoLu/31258ea35959c7b8a77d791994fd23c8 to your computer and use it in GitHub Desktop.
將數字每隔三位加上逗號
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 將數字每隔三位加上逗號 number_format | |
function formatNumber(str: number, glue?: string): string|number { | |
// 如果傳入必需為數字型參數,不然就噴 isNaN 回去 | |
if(isNaN(str)) { | |
return NaN; | |
} | |
// 決定三個位數的分隔符號 | |
var glue: string = (typeof glue == 'string') ? glue: ','; | |
var digits: string[] = str.toString().split('.'); // 先分左邊跟小數點 | |
var integerDigits: string[] = digits[0].split(""); // 獎整數的部分切割成陣列 | |
var threeDigits: string[] = []; // 用來存放3個位數的陣列 | |
// 當數字足夠,從後面取出三個位數,轉成字串塞回 threeDigits | |
while (integerDigits.length > 3) { | |
threeDigits.unshift(integerDigits.splice(integerDigits.length - 3, 3).join("")); | |
} | |
threeDigits.unshift(integerDigits.join("")); | |
digits[0] = threeDigits.join(glue); | |
return digits.join("."); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment