Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

Оставить только целые от десятичной дроби

#arduino #float


Имеются данные с датчика температуры (arduino + ds18b20 + библиотека dallas temp),

float temp = 26.23;


Нужно записать в переменную только целую часть, то есть 26, выводить умею: Serial.println
(temp,0); а вот в переменную записать не могу.
    


Ответы

Ответ 1



Float это сразу почти 1кб места в скетче + еще 4 байта на каждую переменную. Не надо так... Обычная операция *100 при получении данных и /%100 при выводе их на экран, решает вашу проблему

Ответ 2



Сделал след. образом с помощью cast: Ввел дополнительную переменную int inttemp; затем конвертировал переменную temp с float значением (26.23) в integer inttemp = (int)temp; и на выходе получил 26

Ответ 3



Выдача гугл http://arduino.ru/forum/programmirovanie/rabota-s-float "пешком" нужное преобразование можно сделать следующим образом: float v; long V; ... v=13.67; V=round(v*10); V/10 // целая часть числа V%10 // дробная часть числа (1 позиция) А еще легче просто не доводить до флоат. в авр нет флоата как такового и в 99% случаев можно обойтись и без него.

Ответ 4



я бы сделал вот так int temp = (int)26.23; Serial.println (temp,0);

Комментариев нет:

Отправить комментарий