Skip to content

Instantly share code, notes, and snippets.

@alejandrolechuga
Last active May 19, 2019 05:51
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 alejandrolechuga/84996e4a6d587b955beab5e4d87e48a1 to your computer and use it in GitHub Desktop.
Save alejandrolechuga/84996e4a6d587b955beab5e4d87e48a1 to your computer and use it in GitHub Desktop.
function formatNumber(number) {
let format = [];
let num = parseFloat(number);
let decimal = (Math.abs(num) % 1).toString().slice(0,4);
let isNegative = parseInt(num) < 0;
let hasDecimal = number.indexOf('.') !== -1;
if (isNegative) {
format.push('-');
}
number = Math.floor(Math.abs(num))
.toString()
.split('')
.reverse()
.join('')
.match(/.{1,3}/g)
.reverse()
.join(',');
format.push(number.toString());
if (hasDecimal) {
format.push('.', decimal.toString().slice(2,4));
} else {
format.push('.00');
}
return format.join('');
}
console.log(formatNumber("123456789.59"))
console.log(formatNumber("456789.59"))
console.log(formatNumber("-89.59"))
console.log(formatNumber("9.59"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment