Числа не Дисплее 2.2''

Lowfog
Offline
Зарегистрирован: 23.11.2016

Здравствуйте.

Использую библиотеку UTFT.

отображается число. При уменьшении разряда числа последний разряд не убирается с экрана (Изменяется 100->10) а отображается (100->100)

Что можно сделать?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Затирать ненужный разряд пробелом (забоем) - должен быть такой символ.

Lowfog
Offline
Зарегистрирован: 23.11.2016

Надо еще положение забоя высчитывать?

 

Lowfog
Offline
Зарегистрирован: 23.11.2016

или цифру преобразовать в String? - Такое возможно?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

или выводить строкой к примеру:

String str001 = String(chas);
String str002 = String(min);

if (chas>=0 && chas<10 && min>=0 && min<10) {
       utftDisplay.print("0"+str001 + ":" + "0"+str002, 5,  7);}

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Lowfog пишет:

Надо еще положение забоя высчитывать?

А чего его высчитывать, Вы же знаете, где у Вас ненужный знак. Ну, преобразовывать в строку нужной длины, конечно можно, но это дольше. Только уж тогда не в String, а хотя бы в массив символов. String - серийный убийца памяти.

Lowfog
Offline
Зарегистрирован: 23.11.2016

Спасибо... а то уже 3 дня на эту заморочку убил.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

Lowfog пишет:

Надо еще положение забоя высчитывать?

... Только уж тогда не в String, а хотя бы в массив символов. String - серийный убийца памяти.

Встречалось String str = String("      "); - это не работает?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

Встречалось String str = String("      "); - это не работает?

Работает. Просто это вызовет "new byte[7]". А народ любит потом передать String по значению, а это создание нового экземпляра и опять "new byte ...". При всяких конкатенациях и пр. операциях опять же .... Память засирается на раз.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

ua6em пишет:

Встречалось String str = String("      "); - это не работает?

Работает. Просто это вызовет "new byte[7]". А народ любит потом передать String по значению, а это создание нового экземпляра и опять "new byte ...". При всяких конкатенациях и пр. операциях опять же .... Память засирается на раз.

Ох уж это объектное программирование, на асм я сам все байтики распределял, кому и чего и типы данных мне не нужны, что с чем и как в голове держал )))