diff --git a/UI.hpp b/UI.hpp index 0de373d..229b7e1 100644 --- a/UI.hpp +++ b/UI.hpp @@ -1779,35 +1779,43 @@ void lcd_display_int(int16_t var, uint8_t size, bool zeros, bool brackets, bool lcd.print(F(" ")); } - for (int8_t i = size - 1 ; i >= 0; i--) + if (var == 0 && zeros == false) { - p = int(pow(10, i)); - tmp = int(var / p); - - if (tmp == 0) + for (int8_t i = size - 1 ; i > 0; i--) + lcd.print(F(" ")); + lcd.print(F("0")); + } + else + { + for (int8_t i = size - 1 ; i >= 0; i--) { - if (zeros == true) - lcd.print(F("0")); - else + p = int(pow(10, i)); + tmp = int(var / p); + + if (tmp == 0) { - if (non_zero_found == true) + if (zeros == true) lcd.print(F("0")); else - lcd.print(F(" ")); + { + if (non_zero_found == true) + lcd.print(F("0")); + else + lcd.print(F(" ")); + } } + else + { + non_zero_found = true; + lcd.print(tmp); + } + var -= (tmp * p); } - else - { - non_zero_found = true; - lcd.print(tmp); - } - var -= (tmp * p); } - + if (brackets == true) lcd.print(F("]")); } - void lcd_display_float(float var, uint8_t size_number, uint8_t size_fraction, bool zeros, bool brackets, bool sign) { float fraction;