Respuesta: contador en nº romanos del 1 al 9
I,II,III,IV,V,VI,VII,VIII,IX
de 10 en 10
X,XX,XXX,XL,LX,LXX,LXXX,XC
de cien en cien
C,CC,CCC,CD,D,DC,DCC,DCCC,CM
los resultados intermedios es una combinacion de todas, para que mires una pagina con ejemplos de numeros, ENTRA EN ESTA PAGINA, al parece el rango maximo en esa pagina es MMMDCCCXCIX = 3899
Utilizan este Javascript <--- con derechos de autor --- Cita: <script language="javascript1.1"><!--
// copyright 2002 24 Hour Translations. You may ask for permission to use this script (or a modified version)
// by contactin the webmaster at webmaster@24hourtranslations.co.uk with details of the site it is to be placed on.
// generally, this will require that you ensure that the following html link is visible and placed directly below the conversion box:
// <a href="http://www.24HourTranslations.co.uk/">Get an English to Latin Translation by a professional English to Latin Translator</a>
function fix(thenumber,noplaces){
var oldnumber=thenumber;
thenumber=thenumber+"00000 ";
var decpos=thenumber.indexOf(".");
if (decpos==-1) return oldnumber;
decpos=decpos+noplaces+1;
if (noplaces==0) decpos=decpos-1;
var endstring=thenumber.substring(0,decpos);
return endstring;
}
function ConvertNumber(){ // convert into Roman numerals
var array_thousands=new Array("","M","MM","MMM");
var array_hundreds=new Array("","C","CC","CCC","CD","D","DC","DCC","DCCC" ,"CM");
var array_tens=new Array("","X","XX","XXX","XL","L","LX","LXX","LXXX" ,"XC");
var array_ones=new Array("","I","II","III","IV","V","VI","VII","VIII" ,"IX");
var ones,tens,hundreds,thousands,number;
number=document.converter.number.value;
if (!(number<3900) || !(number>0)) {
document.converter.numeral.value="Out of Range";
return false;
}
ones=number%10;
tens=number%100-ones;
hundreds=number%1000-(tens+ones);
thousands=number-(hundreds+tens+ones);
document.converter.numeral.value=array_thousands[thousands/1000]+array_hundreds[hundreds/100]+array_tens[tens/10]+array_ones[ones];
}
function ConvertNumeral(){ // convert into number
var array_thousands=new Array("","M","MM","MMM");
var array_hundreds=new Array("","C","CC","CCC","CD","D","DC","DCC","DCCC" ,"CM");
var array_tens=new Array("","X","XX","XXX","XL","L","LX","LXX","LXXX" ,"XC");
var array_ones=new Array("","I","II","III","IV","V","VI","VII","VIII" ,"IX");
var ones=0;
var tens=0;
var hundreds=0;
var thousands=0;
var numeral=document.converter.numeral.value+"";
numeral=numeral.toUpperCase();
var current=0;
var width=0;
var number=0;
for (number=1; number<4; number++){ // check thousands
if (numeral.indexOf(array_thousands[number],current)==0){
thousands=number;
width=array_thousands[number].length;
}
}
current=current+width;
width=0;
for (number=1; number<10; number++){ // check hundreds
if (numeral.indexOf(array_hundreds[number],current)==current){
hundreds=number;
width=array_hundreds[number].length;
}
}
current=current+width;
width=0;
for (number=1; number<10; number++){ // check tens
if (numeral.indexOf(array_tens[number],current)==current){
tens=number;
width=array_tens[number].length;
}
}
current=current+width;
width=0;
for (number=1; number<10; number++){ // check ones
if (numeral.indexOf(array_ones[number],current)==current){
ones=number;
width=array_ones[number].length;
}
}
current=current+width;
document.converter.number.value=thousands*1000+hun dreds*100+tens*10+ones;
if (current!=numeral.length) document.converter.number.value="Out of Range";
return;
}
--></script> pero mirando detenidamente es algo sencillo, convertirlo a funcion de ASP
un poco de paciencia y una dotacion de Coca(liquida ehh  ), para que salga
p.d. esta otra pagina te puede dar numero mayores que la anterior
__________________ "Eres parte del problema, parte de la solucion o parte del paisaje" Un Saludo desde Desierto de Altar, Sonora, MX. Shiryu_libra
Última edición por Shiryu_Libra; 11/06/2008 a las 07:42 |