Changing "1,2,3" into an Int array
BlitzMax Forums/BlitzMax Beginners Area/Changing "1,2,3" into an Int array| 
 | ||
| What I'm trying to do is take a string of numbers: mynum$ = "1,2,3,4,5" and change it directly into an Int array like this: myarray:Int[] = [1,2,3,4,5] | 
| 
 | ||
| What about a function like: Local tmpString$ = "1,2,3,4,5" Local myArray:Int[] = StringToIntArray(tmpString) For Local tmpNum% = EachIn myArray Print "> " + tmpNum Next Function StringToIntArray%[]( pString$, pSeparator$ = "," ) Local tmpIntArray%[], tmpStringArray$[] = pString.Split(pSeparator) For Local tmpString$ = EachIn tmpStringArray tmpIntArray:+[Int(tmpString)] Next Return tmpIntArray EndFunctionShould hopefully speak for itself... | 
| 
 | ||
| 
SuperStrict
Local mynum:String="1,2,3,4,5"
Local outstring:String[]=mynum.split(",")
Local myarray:Int[outstring.length]
For Local x:Int=0 To outstring.length-1
    myarray[x]=Int(outstring[x])
	Print myarray[x]
Next
 | 
| 
 | ||
| Very nice thx. | 
| 
 | ||
| Small problem with yours tonyg...there's 5 numbers but the length of myarray ends up being 4.  Just has to take out the "-1" on this line: Local myarray:Int[outstring.length-1] Here's my final version and thanks to you both: 
Local array%[] = StrToIntArray("1,2,3,4,5")
For i = 0 To array.length-1
	Print array[i]
Next
End
Function StrToIntArray%[](str$, sep$=",")
	Local strArray$[] = str.split(sep)
	Local intArray%[strArray.length]
	For Local i:Int = 0 To strArray.length-1
		intArray[i] = Int(strArray[i])
	Next
	Return intArray
End Function
 | 
| 
 | ||
| Noticed that and edited it... but not in time obviously. |