Fonction conversion chiffre romain en chiffre

Contenu du snippet

C'est la mécanique inverse du source précédent.

Source / Exemple :


function ConvRomainToInt(str: string): integer;
var
  i: integer;
begin
  result:= 0;
  For i:= 1 to Length(str) do
  begin
    if str[i] = 'M' then
      result:= result + 1000
    else if str[i] = 'C' then
      result:= result + 100
    else if str[i] = 'L' then
      result:= result + 50
    else if str[i] = 'X' then
      result:= result + 10
    else if str[i] = 'V' then
      result:= result + 5
    else if str[i] = 'I' then
    begin
      // On est sur l'avant dernière lettre alors
      if i = Length(str) - 1 then
      begin
        if str[i + 1] = 'X' then
        begin
          result:= result + 9;
          break;
        end
        else if str[i + 1] = 'V' then
        begin
          result:= result + 5;
          break;
        end
        else
          result:= result + 1;
      end
      else
        result:= result + 1;
    end;
  end;
end;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.