Працюємо з 09:00 до 19:00 Пн-Пт
Київ біля ТЦ Квадрат бул.Перова

Похоже, что программное обеспечение 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Клавиатура мембранная 4х4

Клавиатура мембранная 4х4

Герметичная клавиатура для помещений с повышенной влажностью, запыленностью и вибрацией Сопротивлен..

34.59грн.

Провод монтажный 22AWG 5pin

Провод монтажный 22AWG 5pin

Провод в изоляцииКоличество в метрах..

51.67грн.

W5500 модуль Ethernet

W5500 модуль Ethernet

Модуль Ethernet на базе чипа W5500. Отличается от предыдущих версий Ethernet контроллеров от Wiznet ..

119.35грн.

Шестерня для зубчатого ремня на 20 зубьев под ось 8 мм

Шестерня для зубчатого ремня на 20 зубьев под ось 8 мм

Используется для передачи и редукции крутящего момента от двигателя до оси 8 ммКоличество зубьев 20 ..

19.12грн.

Контроль исполнения программы Arduino

Контроль исполнения программы Arduino

Контроль исполнения программы ArduinoДанная статья посвящена описанию структур, используемых для упр..

Теги Arduino FLOAT