Hmm, now i reached the end of science (at least to my knowledge) so let's start with the voodoo (aka blind guessing):
I know there's an int($foo) function that returns the integer part of a variable. Maybe there is something similar for strings?
Have u tried to use another character instead of a blank? something like - or . ?
As I said both is just vlind guessing and will propably not work. Your program seems to think that right at this place there has to be a number. I don't know why it does this, but maybe some other monk can bring some clarification to this?
"WHAT CAN THE HARVEST HOPE FOR IF NOT THE CARE OF THE REAPER MAN"
-- Terry Pratchett, "Reaper Man"