Guest User

Untitled

a guest
Jun 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. var rom_hlp = ['','I','II','III','IV','V','VI','VII','VIII','IX','X'];
  2. function convertToRoman(number) {
  3. if (number >= 400) {
  4. if (number >= 900) {
  5. if (number >= 1000) return "M" + convertToRoman(number - 1000);
  6. else return "CM" + convertToRoman(number - 900);
  7. } else {
  8. if (number >= 500) return "D" + convertToRoman(number - 500);
  9. else return "CD" + convertToRoman(number - 400);
  10. }
  11. } else {
  12. if (number >=90) {
  13. if (number >=100) return "C" + convertToRoman(number - 100);
  14. else return "XC" + convertToRoman(number - 90);
  15. } else {
  16. if (number <= 10) return rom_hlp[number];
  17. if (number >= 40) {
  18. if (number >=50) return "L" + convertToRoman(number - 50);
  19. else return "XL" + convertToRoman(number - 40);
  20. }
  21. return "X" + convertToRoman(number - 10);
  22. }
  23. }
  24. }
  25.  
  26. var rom_hlp = ['','I','II','III','IV','V','VI','VII','VIII','IX','X'];
  27.  
  28.  
  29. function convertToRoman(number) {
  30. var r = "";
  31. while (number > 0 ) {
  32.  
  33. if (number >= 400) {
  34. if (number >= 900) {
  35. if (number >= 1000) { r+= "M"; number -= 1000; continue; }
  36. else {r += "CM"; number -= 900; continue;}
  37. } else {
  38. if (number >= 500) {r += "D"; number -= 500;continue;}
  39. else { r += "CD" ; number -=400;continue;}
  40. }
  41.  
  42.  
  43. } else {
  44. if (number >=90) {
  45. if (number >=100) {r += "C" ; number -=100;continue;}
  46. else { r += "XC" ; number -=90;continue;}
  47. } else {
  48.  
  49. if (number >= 40) {
  50. if (number >=50) {r += "L" ; number -=50;continue;}
  51. else {r += "XL" ; number -=40;continue;}
  52. }
  53. if (number >10) { r+= "X"; number -= 10; continue;};
  54. return r+rom_hlp[number];
  55.  
  56. }
  57. }
  58. }
  59. return r;
  60. }
  61.  
  62. function romanize (num) {
  63. if (!+num)
  64. return NaN;
  65. var digits = String(+num).split(""),
  66. key = ["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM",
  67. "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC",
  68. "","I","II","III","IV","V","VI","VII","VIII","IX"],
  69. roman = "",
  70. i = 3;
  71. while (i--)
  72. roman = (key[+digits.pop() + (i * 10)] || "") + roman;
  73. return Array(+digits.join("") + 1).join("M") + roman;
  74. }
Add Comment
Please, Sign In to add comment