You can just cast it to float and test for 0.
You can also be a little more robust by splitting the string into a list instead of using a fixed offset, that way you can tolerate multiple spaces. I'd probably do something like this:
list words = llParseString2List( msg, [ " " ], [] ); // that's a space between the quotes
if( llToLower( llList2String( words, 0 ) == "timer" )
{
float seconds = (float)llList2String( words, 1 ); // get the second part as string and cast to float, llList2Float will always return 0 here.
if( seconds > 0.0 && seconds < whatever_your_max_time_is )
{
// it's a good time, use it
}
// otherwise ignore it, the time was not a number or was too high or low
}
That'll ignore "time kitty", "time -2.4" and work for "time 1", " time 2.5 ", and so on.