Працюємо з 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Стерео усилитель 2х5Вт  PAM8406

Стерео усилитель 2х5Вт PAM8406

Стерео усилитель звуковой частоты класса D с подстроечными резисторами регулирования громкости на ми..

44.89грн.

Модуль питания 5В, 3,3В для макетных плат

Модуль питания 5В, 3,3В для макетных плат

Модуль питания для удобной подачи напряжения питания на макетную плату.Внешнее питание 5В через USB ..

27.59грн.

Паста припой для пайки SMD компонентов

Паста припой для пайки SMD компонентов

Припой в виде пасты. Наносится на контактные площадки печатной платы и при нагреве феном превращаетс..

105.48грн.

Пружина для натяжения ремня 6мм

Пружина для натяжения ремня 6мм

Стальная пружина для натяжки зубчатого ремня GT2 шириной 6 ммИспользуется в 3d принтерах и CNC-станк..

3.19грн.

ST-Link V2 программатор

ST-Link V2 программатор

Программатор для микроконтроллеровАлюминиевый корпусПоддерживает следующие версии программ для проек..

87.28грн.

Теги Arduino FLOAT