Guest User

Untitled

a guest
Feb 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. class numberFormatter {
  2. static get numbers() {
  3. return (this.__testNumbers__ = [
  4. -123456789012,
  5. -12345678901,
  6. -1234567890,
  7. -123456789,
  8. -12345678,
  9. -1234567,
  10. -123456,
  11. -12345,
  12. -1234,
  13. -123,
  14. -12,
  15. -1,
  16. 0,
  17. 1,
  18. 12,
  19. 123,
  20. 1234,
  21. 12345,
  22. 123456,
  23. 1234567,
  24. 12345678,
  25. 123456789,
  26. 1234567890,
  27. 12345678901,
  28. 123456789012
  29. ]);
  30. }
  31.  
  32. static format() {
  33. this.numbers.forEach(number => {
  34. if (typeof number !== "number") throw TypeError("Not a number");
  35.  
  36. let isNegative = number < 0;
  37. let formattedNumber = isNegative ? "-" : "";
  38. let digits = number
  39. .toString()
  40. .replace("-", "")
  41. .split("")
  42. .reverse();
  43.  
  44. for (let index = digits.length - 1; index >= 0; index--) {
  45. let digit = digits[index];
  46. let addTrailingComma = index > 0 && index % 3 === 0;
  47.  
  48. formattedNumber += addTrailingComma ? `${digit},` : digit;
  49. }
  50.  
  51. console.log(formattedNumber);
  52. });
  53. }
  54. }
Add Comment
Please, Sign In to add comment