Проблема отображения переменной double
поэтому у меня проблема с отображением двойной переменной в OLED & ИК-пульт дистанционного калькулятора, например, (с использованием u8g2):
displayTextOnRight(String(100000, 0)); //бывший. пустоты и числа
Отображается: " " Но когда я установил отл. 99999 отображается: "99999"
То же самое с
displayTextOnRight(String(1000.00, 2));
Также ничего не отображается. (100,00 отображает 100,00)
Я попробовал значения ниже нуля, и это привело к сбою. Когда я пытаюсь ввести 6, все, что я набираю на пульте, пусто.
Пожалуйста, помогите.
@warriorCavt, 👍-3
Обсуждение1 ответ
Если первый аргумент конструктора String имеет целочисленный тип , он пытается интерпретировать второй аргумент как числовое основание, а не как количество десятичных разрядов.
Итак, в String(100000, 0));
он как бы думает, что вы запрашиваете число, представленное в String
с основанием 0, а не в десятичную (DEC
), шестнадцатеричную (HEX
), двоичную (BIN
) и т. д., а основание 0 не имеет значения.
С первым аргументом типа с плавающей запятой, например 1000.0
, второй аргумент принимает значение десятичных разрядов (см. decimalPlaces
в документации).
Если вы хотите ".00"
после целого числа, когда оно преобразуется в строку, вероятно, лучше просто напечатать его во втором вызове .print()
или объединить его со строкой. И если вы хотите, вы можете вручную ввести преобразование целочисленных выражений в тип с плавающей запятой, чтобы принудительно выбрать другой конструктор, например, int a = 10000; что угодно.print(String(float(a), 2));
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Пользовательская функция сна для Nextion
- Как заставить текст мигать на экране ssd1306 i2c
- TFT-дисплей ST7789 показывает правильное изображение только при нажатой кнопке сброса Arduino - Почему?
- Adafruit 128x64 OLED не включается
- Нужна помощь с программой для кнопки смены отображения на OLED-дисплее
- Чтение оперативной памяти с OLED-контроллера SH1106 через I2C
- OLED 'SH1106_WHITE' was not declared in this scope
Что это за функция "displayTextOnRight()"? Какой код вы используете? где ты это нашел? Что он должен делать?, @Majenko