better use is_numeric since we might throw numeric strings at it