Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. function convertToRoman(num) {
  2. var arr_num = ["","I","II","III","IV","V","VI","VII","VIII","IX"];
  3. var arr_des = ["","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"];
  4. var arr_sot = ["", "C","CC","CCC","CD","D","DC","DCC","DCCC","CM"];
  5. var arr_tus = ["", "M"];
  6. var str = "";
  7.  
  8. if (num > 0 && num <10) {
  9. str = arr_num[num];
  10.  
  11. } else if (num >= 10 && num < 100) {
  12.  
  13. if (num % 10 === 0) {
  14. str = arr_des[(num / 10)];
  15. } else {
  16. str = arr_des[Math.floor(num / 10)] + arr_num[(num % 10)];
  17. }
  18. } else if (num >= 100 && num < 1000) {
  19.  
  20. if (num % 100 === 0) {
  21. str = arr_sot[(num / 100)];
  22. } else {
  23. var ost = num % 100;
  24. str = arr_sot[Math.floor(num / 100)] + arr_des[Math.floor(ost / 10)] + arr_num[(ost % 10)];
  25. }
  26. } else if (num >= 1000 && num < 1000000) {
  27.  
  28. if (num % 1000 === 0) {
  29. for (var i = 0; i < num / 1000; i++ )
  30. str += arr_tus[1];
  31.  
  32. } else {
  33. ost1 = num % 1000;
  34.  
  35. for (var j = 0; j < (Math.floor(num / 1000)); j++ ) {
  36. str += arr_tus[1];
  37. }
  38.  
  39. if (ost1 > 0 && ost1 < 10) {
  40. str += arr_num[(ost1 % 10)];
  41.  
  42. } else if (ost1 >= 10 && ost1 < 100) {
  43.  
  44. str += arr_des[Math.floor(ost1 / 10)] + arr_num[(ost1 % 10)];
  45.  
  46. } else if (ost1 >= 100 && ost1 < 1000) {
  47.  
  48. str += arr_sot[Math.floor(ost1 / 100)] + arr_des[Math.floor(ost1 % 10)] + arr_num[(ost1 % 10)];
  49. }
  50. }
  51. }
  52.  
  53. return str;
  54. }
  55. convertToRoman(100000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement