Dla potrzeb odniesienia. Możliwe jest również, aby przekonwertować ciąg do liczby całkowitej za pomocą atrybutu 'value
:
variable str : string := "1234";
variable int : integer;
...
int := integer'value(str);
zależności od potrzeb własnych może być bardziej pożądane niż procedura read()
ponieważ nie destrukcyjnie zmieniać ciąg źródłowy. Działa to jednak tylko wtedy, gdy ciąg jest poprawną liczbą całkowitą bez znaków otaczających innych niż biała spacja.
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()
Ten pan jest smaczną odpowiedzią. Dzięki! –