2012-10-19 13 views
5

Czy istnieje sposób, aby przekształcić liczbę całkowitą na postać?Ada95: Konwersja liczby całkowitej do postaci

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. 

Czy istnieje "ToCharacter" dla Integer-> konwersji znaków dla Ada?

Odpowiedz

5

Być może poszukujesz atrybutu 'Val, który został zastosowany do Character, zilustrowany jako here. Character'Val działa jak funkcja, która pobiera liczbę całkowitą i zwraca wartość Character.

2

to zależy, czy chcesz przekonwertować na kod ASCII, czy też chcesz pokazać wartość całkowitą jako ciąg.

Tu masz przykład obu przypadkach

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; 

Rezultatem jest

Wartość liczby całkowitej pokazany jako wyrażenie: 97

Wartość liczby całkowitej pokazany jako kod ASCII : a

1

Gorąco polecam spojrzeć na Annex K of the LRM, ponieważ prawdopodobnie obejmuje to, co chcesz, a także wiele innych gadżetów, o których nie wiesz jeszcze, że chcesz.

Wśród istotnych rzeczy w tam:

Konwersja liczbę całkowitą (Foo) do druku ciągu reprezentującego wartość, która Integer za:

Integer'image(Foo) 

Konwersja Integer (Foo, od 0 do 255) do znak ASCII reprezentowane przez tę wartość:

Character'Val(Foo) 

w powyższym przykładzie, jeżeli wartość w Foo jest 65, to pierwsza linia zwróci ciąg znaków "65", a drugi zwróci znak 'A'.

Powiązane problemy