use sprintf instead of strconv