toFloat()

Метод toFloat() превращает строку String в число float, останавливая разбор на первом нецифровом символе — например, "123fish" даст 123.0.

Полная статья

Описание

Метод toFloat() позволяет превратить текстовое представление числа в значение типа float. Это удобно, когда данные приходят в виде строки — например, из Serial-порта, EEPROM или текстового файла на SD-карте — и их нужно использовать в математических вычислениях.

Строка должна начинаться с цифры или знака числа. Разбор продолжается до первого символа, который не может быть частью числа. Так, строка "123fish" даст 123.00 — всё, что идёт после "123", просто игнорируется.

Важно помнить об ограниченной точности: тип float на Arduino хранит лишь 6–7 значащих цифр. Строка "123.456" будет представлена приближённо и может превратиться в 123.46. Очень длинные числовые строки окажутся усечены.

Синтаксис

myString.toFloat()

Параметры

myString: переменная типа String, содержащая текстовое представление числа.

Возвращает

Число типа float, полученное из строки. Если строка не начинается с цифры и преобразование невозможно, метод возвращает 0.0.

Где применяется

  • Чтение числовых данных из Serial Monitor: пользователь вводит значение, скетч принимает его как String и конвертирует в float для расчётов.
  • Разбор ответов от GPS-модулей или других UART-устройств, которые передают координаты и скорости в текстовом виде.
  • Загрузка настроек из файла на SD-карте, где параметры хранятся как строки.
  • Преобразование данных из текстовых полей дисплея с сенсорным вводом.

Практические замечания

  • Если строка начинается с пробела или буквы, результат будет 0.0 — это не ошибка выполнения, а тихое «нулевое» значение. Перед вызовом toFloat() полезно проверить, что первый символ строки является цифрой.
  • Разделитель дробной части — точка (.), а не запятая. Строка "3,14" вернёт 3.0, потому что запятая не является допустимым символом числа.
  • Точность float составляет около 6–7 значащих цифр. Для финансовых расчётов или задач с высокой точностью этого недостаточно — используйте целочисленную арифметику или специализированные библиотеки.
  • Результат 0.0 неотличим от ситуации, когда строка действительно содержала "0". Если важно различать эти случаи, заранее проверяйте содержимое строки.
  • После получения float можно сразу использовать его в арифметике, передавать в функции управления моторами, ПИД-регуляторы и другие вычислительные блоки скетча.