Mega Code Archive

 
Categories / Delphi / Algorithm Math
 

How to convert a decimal number to roman numerals

Title: How to convert a decimal number to roman numerals function DecToRoman(Decimal: Longint): string; const Numbers: array[1..13] of Integer = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000); Romans: array[1..13] of string = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M'); var i: Integer; begin Result := ''; for i := 13 downto 1 do while (Decimal = Numbers[i]) do begin Decimal := Decimal - Numbers[i]; Result := Result + Romans[i]; end; end; //Example: //Beispiel: procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption := DecToRoman(5); Label2.Caption := DecToRoman(458); end;