//Here's how it's supposed to work char 0 String *0 * //First string "0" char - String *- * char 3 String *-3 * //Second string "-3" Code / val 0, -3.00 //This is how it should look to the calling program after //the strings are converted to numbers. char 0 String *0 * //First string "0" char - String *- * char 1 String *-1 * char 2 String *-12 * //Second string "-12" Code / val 0, -12.00 . . . //Here's a mild case of the problem. char 1 String *1 * char ⸮ String *⸮ * //Where does the backwards '?' come from? //When cast to a byte, it has value 0xFF char ⸮ String *⸮⸮ * char ⸮ String *⸮⸮⸮ * char 2 String *⸮⸮⸮2 * char 0 String *⸮⸮⸮20 * Code / val 1, ovf //'ovf' is what you get when you try to convert the //string to a number . . . //Sometimes, it's much worse char & //Don't know where the '&' came from String *& * char ⸮ String *&⸮ * char ⸮ String *&⸮⸮ * char 1 String *&⸮⸮1 * char 4 String *&⸮⸮14 * char ⸮ String *⸮ * char ⸮ String *⸮⸮ * char ⸮ String *⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮ * char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮* char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮* char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮* char ⸮ String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮* char 0 String *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮* Code / val 0, ovf