Конвертация арабских цифр в римские

Материал из DRKB



{ returns num in capital roman digits }
function IntToRoman(num: Cardinal): String;
const
  Nvals = 13;
  vals: array [1..Nvals] of Word = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
  roms: array [1..Nvals] of string[2] = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
var
  b: 1..Nvals;
begin
  Result := '';
  b := Nvals;
  while num > 0 do
  begin
    while vals[b] > num do
      Dec(b);
    Dec(num, vals[b]);
    Result := Result + roms[b]
  end;
end;


Source: Взято из http://www.lmc-mediaagentur.de/dpool
ID: 04059