toInt()
toInt() преобразует строку типа String в число типа long, читая символы слева до первого нечислового — удобно для разбора данных из Serial или AT-команд.
Полная статья
Описание
Метод toInt() преобразует объект типа String в целое число типа long. Разбор строки идёт слева направо и останавливается, как только встречается символ, который не является частью целого числа — например, буква, точка или пробел. Всё, что было прочитано до этого момента, и становится результатом.
Если строка вообще не начинается с цифры (или знака +/- перед цифрой), метод вернёт 0.
Типичный сценарий: пользователь отправляет число через Serial Monitor в виде текста — "42", "1024", "-5". Чтобы использовать его в вычислениях, нужно превратить строку в число, и toInt() делает именно это.
Синтаксис
myString.toInt()
Параметры
myString: переменная типа String.
Возвращает
Целое число типа long, полученное из начала строки. Если строка не начинается с цифры или знака числа, возвращается 0.
Где применяется
- Ввод с Serial Monitor: пользователь набирает число, скетч читает его как
Stringи конвертирует вlongдля дальнейших расчётов. - Разбор ответов AT-команд или GPS-модулей: модуль возвращает строку вроде
"OK+RSSI:-67dBm"— можно выделить нужный фрагмент и вызватьtoInt(). - Чтение значений из EEPROM или SD-карты, если данные хранятся в текстовом формате.
- Парсинг простых протоколов типа
"CMD:123", где число отделено от команды разделителем.
Практические замечания
- Метод возвращает
long, а неint. Если вы присваиваете результат переменной типаint, убедитесь, что значение укладывается в диапазонintвашей платформы, иначе произойдёт молчаливое усечение. - Строка
"3.14"вернёт3— всё после точки игнорируется. Для дробных чисел используйтеtoFloat(). - Строка
" 42"(с пробелом в начале) вернёт0, потому что первый символ — не цифра и не знак. Перед вызовомtoInt()при необходимости обрезайте пробелы методомtrim(). - Строка
"-15abc"вернёт-15— знак и цифры до первого нечислового символа разбираются корректно. - Нулевой результат неоднозначен: он может означать как строку
"0", так и строку, которая вообще не содержит числа. Если важно различать эти случаи, проверьте первый символ строки перед вызовом метода.