Похоже, что программное обеспечение Arduino не особо поддерживает отображение значений переменных с плавающей точкой. Конечно, здесь функция sprintf () не работает. Однако есть полезная функция с названием dtostrf (), которая преобразует данные с плавающей точкой в массив символов, поэтому они могут быть легко напечатаны.


Формат функции следующий

dtostrf(floatvar, StringLengthIncDecimalPoint, numVarsAfterDecimal, charbuf);

где:

floatvar - преобразуемая переменная типа float;

StringLengthIncDecimalPoint - длина получаемого символьного значения;

numVarsAfterDecimal - количество символов после запятой;

charbuf - символьный массив для сохранения результата преобразования

Следующий пример программы поможет понять что к чему

static float f_val = 123.6794;

static char outstr[15];


void setup() {

  dtostrf(f_val,7, 3, outstr);


  Serial.begin(9600);

  Serial.println(outstr);

}


void loop(){

}


В результате работы скетча получим

123.679

Имеем 7 символов вдлину, с тремя цифрами после запятой.

При этом, если бы входное значение было например 1.6794, что бы мы получили? Длина строчки символов осталась бы равной 7-ми, с  тремя цифрами после запятой, и это значит что функция вставит 2 пробела сначала строки.

  1.679

Теперь попробуйте сами.

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо

Теги Arduino FLOAT

Новое

Шилд SHT30 для Wemos D1 mini

Шилд SHT30 для Wemos D1 mini

Шилд датчика температуры и влажности на основе SHT30Коммуникационный интерфейс I2CДиапазон измерения..

Двойной шилд расширения для WeMos D1 Mini

Двойной шилд расширения для WeMos D1 Mini

Шилд для параллельного выстраивания модулей платы WiFi контроллера WeMos D1 MiniТакое построени..

Радиомодуль NRF24L01

Радиомодуль NRF24L01

Радио передатчик-приемник с рабочей частотой 2,4 ... 2,5 ГГц для работы в связке с платой контроллер..

Шпилька с трапециевидной резьбой 300 мм х 8мм + гайка

Шпилька с трапециевидной резьбой 300 мм х 8мм + гайка

Шпилька и гайка со специализированной резьбой М8 для реализации червячной передачи в 3D-принтерах и ..

Тестируем WEB-инструмент программирования Arduino на официальном сайте

Тестируем WEB-инструмент программирования Arduino на официальном сайте

Посмотрим поближе на веб-редактор На официальном сайте Arduino в разделе скачки средства програ..

Фиксатор зубчатого ремня

Фиксатор зубчатого ремня

Фиксатор для зубчатого ремня GT2 шириной 6 ммПрименяется для крепления разомкнутого ремня к подвижно..

Ремень зубчатый 6 мм 400 мм

Ремень зубчатый 6 мм 400 мм

Зубчатый прорезиненный ремень для передачи механической энергии вращения от одного зубчатого колеса ..

Тестер автомобильный

Тестер автомобильный

Простое устройство для проверки целостности электрической цепи для автомобилистов.Индицирует наличие..