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

Моно усилитель мощности 18 Вт TDA2030A

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

41.61грн.

Модуль датчика расстояния TCRT5000

Модуль датчика расстояния TCRT5000

Модуль для измерения расстояния по интенсивности отражения инфракрасного луча от объекта.Имеет дискр..

21.93грн.

Стойка латунная М3 высотой 10мм шестигранник мама-мама

Стойка латунная М3 высотой 10мм шестигранник мама-мама

Латунная стойка мама-мама с резьбой М3 и шестигранным внешним сечениемПрименяется при конструировани..

2.99грн.

Ремень зубчатый 6 мм для 3D-принтера

Ремень зубчатый 6 мм для 3D-принтера

Отрезок зубчатого ремня шириной 6 мм.Применяется для перемещения каретки 3D-принтера или CNC по разн..

36.56грн.

УЗ датчик расстояния с герметичным излучателем

УЗ датчик расстояния с герметичным излучателем

Ультразвуковой датчик расстояния с герметичным двунаправленным излучателемХорошо подходит для среды ..

202.94грн.

Теги Arduino FLOAT