Guest User

Untitled

a guest
Jun 20th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. const parseInt = string => {
  2. var n = 0,
  3. g = 0;
  4.  
  5. function text2num(s) {
  6. const a = s.toString().split(/[\s-]+/);
  7. a.forEach(feach);
  8. return n + g;
  9. }
  10.  
  11. const feach = w => {
  12. let x = numbers[w];
  13. if (x) g = g + x;
  14. else if (w == 'hundred') g = g * 100;
  15. else {
  16. x = magnitude[w];
  17. if (x) {
  18. n = n + g * x;
  19. g = 0;
  20. }
  21. }
  22. }
  23.  
  24. return text2num(string);
  25. }
  26.  
  27. const numbers = {
  28. 'zero': 0,
  29. 'one': 1,
  30. 'two': 2,
  31. 'three': 3,
  32. 'four': 4,
  33. 'five': 5,
  34. 'six': 6,
  35. 'seven': 7,
  36. 'eight': 8,
  37. 'nine': 9,
  38. 'ten': 10,
  39. 'eleven': 11,
  40. 'twelve': 12,
  41. 'thirteen': 13,
  42. 'fourteen': 14,
  43. 'fifteen': 15,
  44. 'sixteen': 16,
  45. 'seventeen': 17,
  46. 'eighteen': 18,
  47. 'nineteen': 19,
  48. 'twenty': 20,
  49. 'thirty': 30,
  50. 'forty': 40,
  51. 'fifty': 50,
  52. 'sixty': 60,
  53. 'seventy': 70,
  54. 'eighty': 80,
  55. 'ninety': 90
  56. };
  57.  
  58. const magnitude = {
  59. 'thousand': 1000,
  60. 'million': 1000000,
  61. 'billion': 1000000000,
  62. 'trillion': 1000000000000,
  63. 'quadrillion': 1000000000000000,
  64. 'quintillion': 1000000000000000000,
  65. 'sextillion': 1000000000000000000000,
  66. 'septillion': 1000000000000000000000000,
  67. 'octillion': 1000000000000000000000000000,
  68. 'nonillion': 1000000000000000000000000000000,
  69. 'decillion': 1000000000000000000000000000000000
  70. };
Add Comment
Please, Sign In to add comment