2012-10-19 6 views
5

Exa peut-il convertir un nombre entier en caractère?Ada95: Conversion de nombre entier en caractère

Ex:

TempInt := 1; 
InGrid(RowIndex, ColumnIndex) := (ToCharacter(TempInt)); --This will be used to input a character value from an integer into an array of characters. 

Y at-il "ToCharacter" pour Integer-> Conversion de caractères pour Ada?

Répondre

5

Vous recherchez peut-être l'attribut 'Val appliqué à Character, illustré here. Character'Val fonctionne comme une fonction qui prend un nombre entier et renvoie un Character.

2

cela dépend si vous voulez convertir en code ASCII ou si vous voulez juste afficher la valeur entière sous forme de chaîne.

Ici vous avez un exemple des deux cas

with Ada.Text_IO;     use Ada.Text_IO; 

    procedure test is 
     temp_var : Integer := 97; 

    begin 
     Put_Line ("Value of the integer shown as string: " & Integer'Image(temp_var)); 
     Put_Line ("Value of the integer shown as the ascii code: " & Character'Val(temp_var)); 
    end test; 

Le résultat est

Valeur de l'entier présentée comme chaîne: 97

Valeur de l'entier indiqué que le code ascii : a

1

Je vous suggère fortement de regarder par-dessus Annex K of the LRM, car il couvre probablement ce que vous voulez, avec beaucoup d'autres choses que vous ne réalisez pas encore.

Parmi les choses pertinentes là:

Conversion d'un nombre entier (Foo) dans une représentation de chaîne imprimable de la valeur de ce nombre entier:

Integer'image(Foo) 

Conversion d'un nombre entier (Foo, entre 0 et 255) dans le caractère ASCII représenté par cette valeur:

Character'Val(Foo) 

dans l'exemple ci-dessus, si la valeur est Foo 65, la première ligne renvoie la chaîne "65", tandis que la seconde renvoie le caractère 'A'.

Questions connexes