Por el bien de la referencia. También es posible convertir una cadena a un entero usando el atributo 'value
:
variable str : string := "1234";
variable int : integer;
...
int := integer'value(str);
dependiendo de las necesidades de uno puede ser más deseable que el procedimiento read()
porque no destructiva altera la cadena de origen. Sin embargo, solo funciona si la cadena es un literal entero válido sin caracteres circundantes que no sean espacios en blanco.
variable ln : line;
variable int : integer;
...
ln := new string'(" 456 "); -- Whitespace will be ignored
int := integer'value(ln.all); -- Doesn't consume contents of ln
ln := new string'("789_000 more text");
int := integer'value(ln.all); -- This will fail unlike read()
Ese señor es una respuesta sabroso. ¡Gracias! –