2012-10-19 69 views
5

Có cách nào trong Ada để chuyển đổi một số nguyên thành ký tự không?Ada95: Chuyển đổi số nguyên thành ký tự

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. 

Có "ToCharacter" cho Integer-> Character chuyển đổi cho Ada?

Trả lời

5

Bạn có thể đang tìm thuộc tính 'Val như được áp dụng cho Character, được minh họa here. Character'Val hoạt động như một hàm lấy số nguyên và trả về một số Character.

2

nó phụ thuộc nếu bạn muốn chuyển đổi sang mã ascii hoặc nếu bạn chỉ muốn hiển thị giá trị số nguyên như chuỗi.

Ở đây bạn có một ví dụ về cả hai trường hợp

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; 

Kết quả là

Giá trị của số nguyên thể hiện như chuỗi: 97

Giá trị của số nguyên thể hiện như mã ascii : a

1

Tôi đề nghị bạn xem qua Annex K of the LRM, vì nó có thể bao gồm những gì bạn muốn, cùng với rất nhiều goodies khác mà bạn không nhận ra bạn muốn được nêu ra.

Trong số những thứ có liên quan trong đó:

Chuyển đổi một số nguyên (Foo) thành một chuỗi đại diện có thể in được giá trị của số nguyên:

Integer'image(Foo) 

Chuyển đổi một số nguyên (Foo, từ 0 đến 255) vào các ký tự ASCII biểu diễn bằng giá trị mà:

Character'Val(Foo) 

trong ví dụ trên, nếu giá trị trong Foo là 65, sau đó dòng đầu tiên sẽ trả về chuỗi "65", trong khi thứ hai sẽ trả về ký tự 'A'.

Các vấn đề liên quan