Dezimalzahl in Römische Ziffern umwandeln

    • Dezimalzahl in Römische Ziffern umwandeln



      Hier mal ein Rezept, um Ganzzahlen (Integer) in Römische Zeichenfolgen zu konvertieren.

      Source Code

      1. function DecToRoman(ADecimal: LongInt): string;
      2. const
      3. Romans: array[1..13] of string = ( 'I', 'IV', 'V', 'IX', 'X',
      4. 'XL','L', 'XC', 'C', 'CD',
      5. 'D', 'CM', 'M' );
      6. Arabics: array[1..13] of Integer = ( 1, 4, 5, 9, 10,
      7. 40, 50, 90, 100, 400,
      8. 500, 900, 1000 );
      9. var i: Integer;
      10. begin
      11. for i := 13 downto 1 do
      12. while (ADecimal >= Arabics[i]) do
      13. begin
      14. ADecimal := ADecimal - Arabics[i];
      15. Result := Result + Romans[i];
      16. end;
      17. end;
      Display All

      Ein Aufruf erfolgt dann z.B. so : ShowMessage('23 = ' + DecToRoman(23));