Números romanos
Hola a todos,
hace algún tiempo tuve la necesidad de escribir una rutina para convertir números enteros en números romanos, no fue muy difícil y lo más probable es que nadie la necesite, pero uno nunca sabe lo que puede hacernos falta.
function CambiarARomano(iNumero: integer): string;
const
Numeros: array[1..13] of integer= (1,4,5,9,10,40,50,90,100,400,500,900,1000);
Romanos: array[1..13] of string= ('I','IV','V','IX','X','XL','L','XC','C','CD','D','CM','M');
var
bCont: Byte;
begin
for bCont := 13 downto 1 do
while (iNumero >= Numeros[bCont]) do begin
iNumero := iNumero - Numeros[bCont];
Result := Result + Romanos[bCont];
end;
end;
Advertisement
2 comentarios »
Deja un comentario
-
Archivos
- febrero 2009 (3)
- enero 2009 (12)
-
Categorías
-
RSS
RSS de las entradas
RSS de los Comentarios
esa porqueria no funciona
Comentario por frak | Miércoles, 11 marzo 2009
Hola @frak,
es cierto, esta porquería no funciona, pero no porque la función en si misma no lo haga, sino porque, a la hora de transcribirla aquí, wordpress modificó las comillas de la cadena Romanos a comillas tipográficas, con lo que te devuelve un error, en cualquier caso es un error que no era muy difícil de ver pero ya lo he corregido.
Gracias por avisar
Saludos
Comentario por infodelphi | Lunes, 16 marzo 2009