delphi 阿拉伯数字转换为罗马数字

function  TForm1.DecToRoman(iDecimal: integer ): string;
const
aRomans: array [ 1..13 ] of string = ( 'I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M' );
aArabics: array [ 1..13 ] of integer = ( 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 );
var
   i: integer;
   s: string;
begin
     s := '';

     for i := 13 downto 1 do
         while ( iDecimal >= aArabics[i] ) do
         begin
               iDecimal := iDecimal - aArabics[i];
               s := s + aRomans[i];
         end;
     DecToRoman:= s;
end;

posted @ 2011-08-04 18:11  rzsgsj  阅读(194)  评论(0编辑  收藏  举报