У меня есть код, который я запускаю на ESP32, написанном на Arduino. Проблема в том, что мой результат округляется, когда его не должно быть.
float step_value = (float)abs(levels_values[i] - levels_values[i - 1]) / abs(levels_percentages[i] - levels_percentages[i - 1]);
float percentage_diff = (float)abs(current_value - levels_values[i - 1]) / step_value;
Serial.println(step_value);
Serial.println(2.00/step_value);
Serial.println(2.00/0.07);
И внутри консоли вывод:
0.07
30.00
28.57
Почему, если я делю на переменную , Я получаю округленное значение, и когда я делю на значение переменной, я получаю правильное значение.
levels_values и levels_percentages векторы имеют тип INT