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

Arduino відображення даних FLOAT

Схоже, що програмне забезпечення 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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Модуль Bluetooth SPP-C

Модуль Bluetooth SPP-C

Протокол зв'язку : Bluetooth специфікація v2.1+EDRРадіус дії : до 10 метрів (рівень потужності 2)Нап..

69.14грн.

Стійка нейлонова М3 8мм + 6мм

Стійка нейлонова М3 8мм + 6мм

Стійка для кріплення усіляких електронних модулів до корпусу пристроюВисота стійки 8 ммДовжина зовні..

1.80грн.

Плата ESP32 (ESP-32)

Плата ESP32 (ESP-32)

Плата WiFi та Bluetooth контролера ESP-32 з програматором CP2102На платі вже встановлено у..

207.43грн.

Мікросхема захисту літій-іонного акумулятора 3,7В

Мікросхема захисту літій-іонного акумулятора 3,7В

Захист від перезарядки 4,3 ВЗахист від повної розрядки 2,4 ВТип корпусу SOT 23-6Струм споживання до ..

4.47грн.

Кінцевий вимикач або кінцевик

Кінцевий вимикач або кінцевик

Має одну групу перемикаючих контактів. На кінчику ричага встановлений рухомий ролік.Максимальний стр..

12.75грн.