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

标签 string ada

我的问题很简单,因为 Google 让我失望了。如何将无界字符串转换为整数?

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

但是,我的字符串是无界的,Ada 抛出了这个错误:

预期类型“Standard.String” 找到私有(private)类型“Ada.Strings.Unbounded.Unbounded_String”

我想做的事可能吗?

最佳答案

您只需要进行中间转换:

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;

关于string - 将无界字符串转换为整数 Ada,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42565836/

相关文章:

type-conversion - 在 Ada 中,将 64 位 float 分配给 16 位整数时代码失败怎么可能?

无法获得混合的 C 和 Ada 程序以与 pthread 库链接

string - 从字符串中删除空格

c# - 将字符串转换为日期时间返回最小值

c++ - 为什么我的函数返回一个空字符串?

linker - GPRbuild:编译器开关被传递给链接器

c - 我在使用字符串分配内存时遇到问题

mysql - 如何对mysql数据库中的字符串进行标记

apache - 在 Unix 网络服务器上运行的 Ubuntu 编译程序

arrays - Ada - 动态重新分配数组