Roman Numerals

by Luis Valle

JavaScript

function convert(num) {
  function getRom (tN) {
    if (tN == 1) {
      return 'I';
    }
    if (tN == 2) {
      return 'II';
    }
    if (tN == 3) {
      return 'III';
    }
    if (tN == 4) {
      return 'IV';
    }
    if (tN == 5) {
      return 'V';
    }
    if (tN == 6) {
      return 'VI';
    } 
    if (tN == 7) {
      return 'VII';
    }
    if (tN == 8) {
      return 'VIII';
    }
    if (tN == 9) {
      return 'IX';
    }
    if (tN == 10) {
      return 'X';
    }
    if (tN == 20) {
      return 'XX';
    }
    if (tN == 30) {
      return 'XXX';
    }
    if (tN == 40) {
      return 'XL';
    }
    if (tN == 50) {
      return 'L';
    }
    if (tN == 60) {
      return 'LX';
    }
    if (tN == 70) {
      return 'LXX';
    }
    if (tN == 80) {
      return 'LXXX';
    }
    if (tN == 90) {
      return 'XC';
    }
    if (tN == 100) {
      return 'C';
    }
    if (tN == 200) {
      return 'CC';
    }
    if (tN == 300) {
      return 'CCC';
    }
    if (tN == 400) {
      return 'CD';
    }
    if (tN == 500) {
      return 'D';
    }
    if (tN == 600) {
      return 'DC';
    }
    if (tN == 700) {
      return 'DCC';
    }
    if (tN == 800) {
      return 'DCCC';
    }
    if (tN == 900) {
      return 'CM';
    }
    if (tN > 999) {
    	var xWrr = tN.toString().charAt(0);
      var finxxxM = '';
      
      for (var i=0; i < parseInt(xWrr); i++) {
      	finxxxM = finxxxM + 'M';
      }
      
      return finxxxM;
    }
    
    return '';
  }
  var xxNumb = num.toString();
  var finRom = '';
  var numArr = num.toString().split('');
  num = num.toString().split('');
  numArr.pop();
  
  for (var i=0; i < numArr.length; i++) {
  	numArr[i] = '0';
  }
  var xFinChr = '';
  
  if (num.length == 1) {
    xFinChr = getRom(parseInt(num[0]));
  } else {    
    for (var i=0; i < num.length; i++) {
    	var myZeros = numArr.join('');
      var orgNum = num[i].toString() + (myZeros ? myZeros : '');
      
      if (orgNum.length ==...