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));