将无界字符串转换为整数Ada

Mor*_*Man 1 string ada

我的问题很简单,就像谷歌让我失望一样.如何将无界字符串转换为整数?

如果字符串有界,我可以这样做: I : Integer := Integer'Value("613");

但是,我的字符串无限制,Ada抛出此错误:

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

我想做什么?

rap*_*ard 7

你只需进行中间转换:

I : Integer := Integer'Value (To_String (T));
Run Code Online (Sandbox Code Playgroud)

这是一个完整的测试程序:

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;
Run Code Online (Sandbox Code Playgroud)