2017-03-02 2 views
1

Ma question est plutôt simple, car Google m'a laissé tomber. Comment convertir une chaîne non bornée en entier?Convertir une chaîne non bornée en entier Ada

Si la chaîne est limitée, je pouvais le faire: I : Integer := Integer'Value("613");

Cependant, ma chaîne est sans bornes, et Ada jette cette erreur:

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

Est-ce que je veux faire possible?

Répondre

7

Il vous suffit de faire la conversion intermédiaire:

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

Voici un programme de test complet:

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;