If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2016-06-22
Originally created by: scott_cunningham
Sorry Volvo742, I never get emails from this BBL anymore. Something blocks them.
I made a typing mistake - I meant to use INT_TO_STRING and then iterate through each char of the string and go STRING_TO_INT. Like this:
PROGRAMPLC_PRGVARÂ Â Start:INT:=5432;Â Â Result:ARRAY[0..9]OFINT;END_VARVAR_TEMPÂ Â J:INT;Â Â Str:STRING;END_VARStr:=INT_TO_STRING(Start);FORJ:=0TOLEN(Str)DOÂ Â Result[J]:=STRING_TO_INT(MID(Str,1,J+1));END_FOR
Of course, putting this as a FUNCTION would be better...
A little faster FOR LOOP solution (MID may be slow and one shouldn't put any calculations in the FOR line as it calculates every time it loops):
PROGRAMPLC_PRGVARÂ Â Start:INT:=5432;Â Â Result:ARRAY[0..9]OFINT;END_VARVAR_TEMPÂ Â J:INT;Â Â Str:STRING;Â Â Chars:INT;END_VARStr:=INT_TO_STRING(Start);Chars:=LEN(STR)-1;FORJ:=0TOCharsDOÂ Â Result[J]:=BYTE_TO_INT(Str[J]-48);END_FOR
Indexing in a string returns a byte data type, which happens to be the ascii code.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello.
Is it possible to split int to int array?
For example int value 5356 to 5, 3, 5, 6?
You could do it with a FOR loop and some modulo instructions.
Thank you! That solve my problem.
Originally created by: scott_cunningham
Additionally, you can use INT_STRING and then grab each char and use STRING_TO_INT until end of string.
Thank you. You men i use indexing?
Example :
var2: INT_STRING := 6367;
var1: STRING;
var1 := INT_TO_STRING (var2 [0]); // first number
Originally created by: scott_cunningham
Sorry Volvo742, I never get emails from this BBL anymore. Something blocks them.
I made a typing mistake - I meant to use INT_TO_STRING and then iterate through each char of the string and go STRING_TO_INT. Like this:
Of course, putting this as a FUNCTION would be better...
A little faster FOR LOOP solution (MID may be slow and one shouldn't put any calculations in the FOR line as it calculates every time it loops):
Indexing in a string returns a byte data type, which happens to be the ascii code.