Я сделал функцию датчика температуры, которая возвращает число с поплавком с 6-значным номером после. (Например: 28,500000)Поплавковая точность C - параметр прохождения в Xively
Использование:
float fTemp;
...
printf("Temp = %.1f", fTemp);
можно ограничить температуру десятичной к одному, и все в порядке. (Например, 28,5)
Теперь я хотел бы передать Тампере на мой счет Xively и у меня есть эта функция:
extern xi_datapoint_t* xi_set_value_f32(xi_datapoint_t* dp, float v);
Как преобразовать значение с плавающей точкой температуры до одного десятичного знака и передать его в xi_set_value_f32 ?
Спасибо, дк
Из-за природы числа с плавающей запятой, которое невозможно сделать, и не только это, это совершенно бессмысленно. – fvu
Невозможно, потому что плавающие указатели не являются точными (что означает, что для определенных значений деление может заканчиваться очень близко к ожидаемому результату, но не указывать на - например, 16.0/10.0 может дать 1.5999999 в результате) и бессмысленно, так как это проблема отображения ** **, которые должны быть решены во время отображения, а не во время хранения. – fvu