numeral convertor

admin

Administrator
Staff member
can some one tell me how to reverse the function of this convertor so that when you enter roman numerals the equivalent arabic will be produced.

heres the code

I would really appreciate any help


<HTML>
<HEAD>
<TITLE>Roman Numeral Convertor</TITLE>
<SCRIPT LANGUAGE="JavaScript">

var ones_numerals = new Array();
ones_numerals[0] = "";
ones_numerals[1] = "I";
ones_numerals[2] = "II";
ones_numerals[3] = "III";
ones_numerals[4] = "IV";
ones_numerals[5] = "V";
ones_numerals[6] = "VI";
ones_numerals[7] = "VII";
ones_numerals[8] = "VIII";
ones_numerals[9] = "IX";
var tens_numerals = new Array();
tens_numerals[0] = "";
tens_numerals[1] = "X";
tens_numerals[2] = "XX";
tens_numerals[3] = "XXX";
tens_numerals[4] = "XL";
tens_numerals[5] = "L";
tens_numerals[6] = "LX";
tens_numerals[7] = "LXX";
tens_numerals[8] = "LXXX";
tens_numerals[9] = "XC";
var hundreds_numerals = new Array();
hundreds_numerals[0] = "";
hundreds_numerals[1] = "C";
hundreds_numerals[2] = "CC";
hundreds_numerals[3] = "CCC";
hundreds_numerals[4] = "CD";
hundreds_numerals[5] = "D";
hundreds_numerals[6] = "DC";
hundreds_numerals[7] = "DCC";
hundreds_numerals[8] = "DCCC";
hundreds_numerals[9] = "CM";
var thousands_numerals = new Array();
thousands_numerals[0] = "";
thousands_numerals[1] = "M";
thousands_numerals[2] = "MM";
thousands_numerals[3] = "MMM";
function checkNumber(number)
{
if((parseInt(number) < 4000) && (parseInt(number) > 0))
{
var numeral = createNumeral(number);
if(numeral.indexOf('undefined') == -1)
{
window.document.form.numeral.value = numeral;
}
}else{
alert('Please enter a valid number!!');
}
}
function createNumeral(num)
{
var new_num = num
var thousands = Math.floor(new_num / 1000);
new_num -= thousands * 1000;
var hundreds = Math.floor(new_num / 100);
new_num -= hundreds * 100;
var tens = Math.floor(new_num / 10);
new_num -= tens * 10;
var ones = Math.floor(new_num / 1);
if((thousands == NaN)||(hundreds == NaN)||(tens == NaN)||(ones == NaN))
{
alert('Please enter a valid number!!');
}else{
var array = new Array(thousands,hundreds,tens,ones);
return makeNumeral(array);
}
}
function makeNumeral(place_values)
{
var numeral = "";
numeral += thousands_numerals[place_values[0]];
numeral += hundreds_numerals[place_values[1]];
numeral += tens_numerals[place_values[2]];
numeral += ones_numerals[place_values[3]];
return numeral;
}

</script>


</HEAD>
<BODY>
<div align="center">
<form name="form">
<b>Enter a number between (1-3999) :</b> <input size="5" name="number" ><p>
<input type="button" value=http://www.webdeveloper.com/forum/archive/index.php/"Convert" onclick ="checkNumber(window.document.form.number.value)">
<P><STRONG>Answer : </STRONG> <input name="numeral" ></P>
<P><br>

<table width="20%" align="center" border="1" cellspacing="1" cellpadding="2" >
<tr>
<td>M = 1000</td>
<td>D = 500</td>
<td>C = 100</td>
<td>L = 50</td>
</tr>
<tr>
<td>X = 10</td>
<td>V = 5</td>
<td>I = 1</td>
<td>&nbsp;</td>
</tr>
</table></P>
</form>
</div>


<p>
<P>&nbsp;</P>

</BODY>
</HTML>
 
Top