Как сделать так, чтобы на ЖК-дисплее отображалось целое число без десятичных знаков? В частности, у меня есть переменная типа double — Percent, которая рассчитывается путем деления количества галлонов (также double) в резервуаре для воды на емкость резервуара, умноженную на 100, следующим образом:
Код: Выделить всё
Percent = (Gallons/1771*100)+.5; // Calculate percent full; .5 added to assure proper rounding
Далее я пытаюсь преобразовать процент в целое число:
Код: Выделить всё
int y = static_cast(Percent);
std::string myString = std::to_string(y);
Затем мой код пытается отправить полученное значение на OLED-дисплей в виде строки следующим образом:
Код: Выделить всё
display.getTextBounds((myString+ "% Full"), 0, 0, &x1, &y1, &w, &h);
display.setCursor((128 - w) / 2, 46);
display.println(myString + "% Full");
display.display();
К сожалению, код, связанный с отображением, не скомпилируется (ошибка = «нет соответствующей функции для вызова 'Adafruit_SSD1306::getTextBounds(std::__cxx11::basic_string)'».
Как я могу отображать только целочисленный компонент?>
Подробнее здесь:
https://stackoverflow.com/questions/798 ... a-c-string