DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como converter números inteiros para números romanos?

Esta função é capaz de converter inteiros em String co o número em romano.

Segue o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function DecToRoman(Decimal: Cardinal): 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;

Exemplo de uso:

1
2
3
4
5
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(DecToRoman(8));
  ShowMessage(DecToRoman(736));
end;

Dúvidas ou sugestões deixe nos comentários do post.

Facebook Comments Box
  • InfusTec
  • 5.999 views
  • 0 comentários
  • 14 de abril de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados