101 lines
No EOL
3 KiB
HTML
101 lines
No EOL
3 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<title>Roman Numeral Converter</title>
|
|
<meta name="viewport" content="width=240">
|
|
<style>body { margin-right:0px; margin-left:0px; }</style>
|
|
<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";
|
|
thousands_numerals[4] = "M<span style='text-decoration:overline;'>V</span>";
|
|
thousands_numerals[5] = "<span style='text-decoration:overline;'>V</span>";
|
|
thousands_numerals[6] = "<span style='text-decoration:overline;'>V</span>M";
|
|
thousands_numerals[7] = "<span style='text-decoration:overline;'>V</span>MM";
|
|
thousands_numerals[8] = "<span style='text-decoration:overline;'>V</span>MMM";
|
|
function checkNumber(number)
|
|
{
|
|
if((parseInt(number) < 9000) && (parseInt(number) > 0))
|
|
{
|
|
var numeral = createNumeral(number);
|
|
if(numeral.indexOf('undefined') == -1)
|
|
{
|
|
window.document.getElementById('output').innerHTML = " Converted: "+numeral;
|
|
}
|
|
}else{
|
|
alert('you must 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('invalid 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">
|
|
Number: <input type="text" size="8" name="number">
|
|
<input type="button" value="Convert" onclick="checkNumber(window.document.form.number.value)"><br>
|
|
<div id="output" style="width:240px; text-align:left; margin-top:3px;"> Converted: </div>
|
|
</form>
|
|
<font size="1">Numbers 1-8999 only.</font>
|
|
</div>
|
|
</BODY>
|
|
</HTML> |