- function ChiffresRomains(Nombre: integer): string;
- const
- LetUnit:array[0..9] of string=('','I','II','III','IV','V','VI','VII','VIII','IX');
- LetDix:array[0..9] of string=('','X','XX','XXX','XL','L','LX','LXX','LXXX','XC');
- LetCent:array[0..9] of string=('','C','CC','CCC','CD','D','DC','DCC','DCCC','CM');
- LetMill:array[0..9] of string= ('','M','MM','MMM','MMMM','MMMMM','MMMMMM','MMMMMMM','MMMMMMMM','MMMMMMMMM');
- var
- centaines,dixaines,unite,milliers:integer;
- Nmbr,Fin:string;
- begin
- Nmbr := inttostr(Nombre);
- Unite := 0;
- centaines:=0;
- dixaines := 0;
- milliers := 0;
- //décompose le nombre
- //unite:
- if Length(Nmbr)>0 then
- unite := strtoint(copy(Nmbr,Length(Nmbr),1));
- //dixaines:
- if Length(Nmbr)>1 then
- dixaines := strtoint(copy(Nmbr,Length(Nmbr)-1,1));
- //centaines:
- if Length(Nmbr)>2 then
- centaines := strtoint(copy(Nmbr,Length(Nmbr)-2,1));
- //milliers
- if Length(Nmbr)>3 then
- milliers := strtoint(copy(Nmbr,1,Length(Nmbr)-3));
-
- Fin := LetUnit[unite];
- Fin := LetDix[dixaines] + Fin;
- Fin := LetCent[centaines] + Fin;
- Fin := LetMill[milliers] + Fin;
- Result := Fin;
- end;
function ChiffresRomains(Nombre: integer): string;
const
LetUnit:array[0..9] of string=('','I','II','III','IV','V','VI','VII','VIII','IX');
LetDix:array[0..9] of string=('','X','XX','XXX','XL','L','LX','LXX','LXXX','XC');
LetCent:array[0..9] of string=('','C','CC','CCC','CD','D','DC','DCC','DCCC','CM');
LetMill:array[0..9] of string= ('','M','MM','MMM','MMMM','MMMMM','MMMMMM','MMMMMMM','MMMMMMMM','MMMMMMMMM');
var
centaines,dixaines,unite,milliers:integer;
Nmbr,Fin:string;
begin
Nmbr := inttostr(Nombre);
Unite := 0;
centaines:=0;
dixaines := 0;
milliers := 0;
//décompose le nombre
//unite:
if Length(Nmbr)>0 then
unite := strtoint(copy(Nmbr,Length(Nmbr),1));
//dixaines:
if Length(Nmbr)>1 then
dixaines := strtoint(copy(Nmbr,Length(Nmbr)-1,1));
//centaines:
if Length(Nmbr)>2 then
centaines := strtoint(copy(Nmbr,Length(Nmbr)-2,1));
//milliers
if Length(Nmbr)>3 then
milliers := strtoint(copy(Nmbr,1,Length(Nmbr)-3));
Fin := LetUnit[unite];
Fin := LetDix[dixaines] + Fin;
Fin := LetCent[centaines] + Fin;
Fin := LetMill[milliers] + Fin;
Result := Fin;
end;