JS Convert Roman Numeral Test

by Virtual

HTML

<div class="value">
  x
</div>

JavaScript

var items = [];

function getRoman(romannum, int) {
  var name = "";
  var temp = '';

  if (int === 1) {
    name = "I";
  } else if (int === 5) {
    name = "V";
  } else if (int === 10) {
    name = "X";
  } else if (int === 50) {
    name = "L";
  } else if (int === 100) {
    name = "C";
  } else if (int === 500) {
    name = "D";
  } else if (int === 1000) {
    name = "M";
  }

  for (i = 0; i < romannum; i++) {
    temp += name;
  }

  return temp;
}

function addToStr(num, int) {
  // I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1,000. 

  var roman = Math.floor(num / int);

  if (roman > 0) {
    items.push(getRoman(roman, int));
  }

  return roman * int;
}

function convertToRoman(num) {
  var str = '';

  //str = ''+(num%100) + (num%50)+(num%10)+(num%5)+(num%1);
  num -= addToStr(num, 1000);
  num -= addToStr(num, 500);
  num -= addToStr(num, 100);
  num -= addToStr(num, 50);
  num -= addToStr(num, 10);
  num -= addToStr(num, 5);
  //num -= addToStr(num,1);

  items = items.join('');

  //return items;
  return items;
}

//convertToRoman(15);
$('.value').html(convertToRoman(15));