2012-10-19 11 views
5

C'è un modo in Ada per convertire un intero in carattere?Ada95: conversione di un numero intero in carattere

Es:

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

C'è qualche "ToCharacter" per Integer-> conversione dei caratteri per Ada?

risposta

5

È possibile che si stia cercando l'attributo 'Val applicato a Character, illustrato here. Character'Val funziona come una funzione che accetta un numero intero e restituisce un valore Character.

2

dipende se si desidera convertire il codice ASCII o se si desidera solo per mostrare il valore intero come stringa.

Ecco un esempio di entrambi i casi

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; 

Il risultato è

Valore del numero intero indicato come stringa: 97

Valore del numero intero indicato come il codice ASCII : a

1

Consiglio vivamente di guardare oltre Annex K of the LRM, poiché probabilmente copre ciò che desideri, insieme a molte altre chicche che non ti rendi conto di volere ancora.

Tra il materiale pertinente in là:

Conversione di un numero intero (Foo) in una rappresentazione stringa stampabile di valore di numero intero:

Integer'image(Foo) 

Conversione di un numero intero (Foo, tra 0 e 255) in il carattere ASCII rappresentato da tale valore:

Character'Val(Foo) 

nell'esempio precedente, se il valore in Foo è 65, quindi la prima riga restituirebbe la stringa "65", mentre il secondo restituirebbe il carattere 'A'.

Problemi correlati