2017-03-02 49 views
1

我的問題很簡單,就像谷歌讓我失望一樣。如何將無界的字符串轉換爲整數?將無界字符串轉換爲整數Ada

如果字符串是有界的,我可以這樣做:I : Integer := Integer'Value("613");

然而,我的字符串是無界的,和Ada引發此錯誤:

expected type "Standard.String" found private type "Ada.Strings.Unbounded.Unbounded_String"

就是我想要做的可能嗎?

回答

7

你只需要做的中間轉換:

I : Integer := Integer'Value (To_String (T)); 

這是一個完整的測試程序:

with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; 
with Ada.Text_IO; use Ada.Text_IO; 

procedure Main is 
    T : Unbounded_String := To_Unbounded_String ("613"); 
    I : Integer := Integer'Value (To_String (T)); 
begin 
    Put_Line (I'Image); 
end Main;