Skip to content

Instantly share code, notes, and snippets.

@swaydeng
Last active August 25, 2016 03:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swaydeng/c0b7f8f67b36877988dc5a165b9376c3 to your computer and use it in GitHub Desktop.
Save swaydeng/c0b7f8f67b36877988dc5a165b9376c3 to your computer and use it in GitHub Desktop.
Add commas to a number every 3 digits
// add commas to a number every 3 digits
function formatNum1(num) {
var STEP = 3;
var DELIMITER = ',';
var str = '' + num;
var arr = str.split('');
var len = arr.length;
for(var i = len - STEP; i > 0; i -= STEP) {
arr.splice(i, 0, DELIMITER);
}
return arr.join('');
}
function formatNum2(num) {
return (num).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
function formatNum3(num) {
return (num).toLocaleString();
}
var TIMES = 1000000;
var num = 12345678;
var t1 = Date.now();
for(var i = 0; i < TIMES; i ++) {
formatNum2(num);
}
var t2 = Date.now();
for(var j = 0; j < TIMES; j ++) {
formatNum2(num);
}
var t3 = Date.now();
for(var k = 0; k < TIMES; k ++) {
formatNum3(num);
}
var t4 = Date.now();
console.log(t2 - t1);
console.log(t3 - t2);
console.log(t4 - t3);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment