Працюємо з 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Arduino MEGA MINI CH340G ATMEGA2560-16AU

Arduino MEGA MINI CH340G ATMEGA2560-16AU

Плата контроллера ATMEGA2560-16AU в интересном миниатюрном форм-факторе. Будет полезна продвину..

230.32грн.

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

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

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

27.08грн.

CNC шилд для Arduino NANO

CNC шилд для Arduino NANO

Шилд для Arduino NANO для управления 3D-принтером или CNC-станком.На шилде предусмотрены три пл..

84.61грн.

Мини USB кабель 30см

Мини USB кабель 30см

USB кабель формата miniПодходит для программирования платы контроллера Arduino NANOПолная длина кабе..

26.32грн.

Клавиатура 3х4

Клавиатура 3х4

Клавиатура с качественными механическими кнопками и аналоговым выходом.Имеет мега-чёткое срабатывани..

129.18грн.

Теги Arduino FLOAT