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

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

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

32.97грн.

Датчик вращения енкодер KY-040

Датчик вращения енкодер KY-040

Енкодер вращения KY-040 - это поворотный датчик, который индицирует степень поворота оси и в каком н..

23.75грн.

Набор электролитических конденсаторов 0,22...470мкФ

Набор электролитических конденсаторов 0,22...470мкФ

Набор полярных конденсаторов 12 номиналов по 10 штук каждого.50 В - 0,22 мкФ50 В - 0,47 мкФ50 В - 1 ..

67.69грн.

Штекер Micro USB 2.0 разборный

Штекер Micro USB 2.0 разборный

Разборный штекер микро-USB с выводами под пайкуЦвет чорный..

7.85грн.

Модуль питания понижающий с 4...35В до 1,25...32В 5А

Модуль питания понижающий с 4...35В до 1,25...32В 5А

Модуль питания на основе специализированной микросхемы XL4005Диапазон входных напряжений 4..

45.86грн.

Теги Arduino FLOAT