Функция 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
Теперь попробуйте сами.
Виджеты для Easy HMI
Читайте также
Мы в соц сетях