#ifdef PRINTF_STDLIB #include #endif #ifdef PRINTF_CUSTOM #include "tinystdio.h" #endif float roundto(float value, unsigned char digits) { unsigned long int pw = 10; for (unsigned char i = 0; i < digits; i++) pw = pw * 10; if (value == 0) return 0; value = value >= 0 ? value + (5.0/pw) : value - (5.0/pw); return value; }