本文整理自网络,侵删。

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;
procedure TForm2.Button1Click(Sender: TObject);var N: Cardinal; R: string;begin for N := 1 to 10 do begin R := IntToRoman(N); memo1.Lines.Add(Format('%d'#9'%s', [N, R])); end;
end;
相关阅读 >>
Delphi 自定义colorbox只显示指定颜色项目 colorbox显示中文颜色名称
Delphi unigui中cookies使用中文汉字的方法
Delphi 错误no ftp list parsers have been registered
更多相关阅读请进入《Delphi》频道 >>