Skip to content

Instantly share code, notes, and snippets.

@RhinoLu
Created December 18, 2016 13:41
Show Gist options
  • Save RhinoLu/31258ea35959c7b8a77d791994fd23c8 to your computer and use it in GitHub Desktop.
Save RhinoLu/31258ea35959c7b8a77d791994fd23c8 to your computer and use it in GitHub Desktop.
將數字每隔三位加上逗號
// 將數字每隔三位加上逗號 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