diff --git a/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
index ea73243250..13d562adcd 100644
--- a/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
+++ b/Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
@@ -683,12 +683,12 @@ FORCE_INLINE void _draw_heater_status(const heater_id_t heater_id, const char pr
   FORCE_INLINE void _draw_ammeter_status() {
     lcd_put_u8str(F(" "));
     ammeter.read();
-    if (ammeter.current <= 0.999f) {
-      lcd_put_u8str(ui16tostr3rj(uint16_t(ammeter.current * 1000 + 0.5f)));
+    if (ammeter.current < 1000) {
+      lcd_put_u8str(ftostr31rj((ammeter.current)));
       lcd_put_u8str(F("mA"));
     }
     else {
-      lcd_put_u8str(ftostr12ns(ammeter.current));
+      lcd_put_u8str(ftostr12ns(ammeter.current / 1000));
       lcd_put_u8str(F("A"));
     }
   }
diff --git a/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp
index b29653f7b0..057c883f52 100644
--- a/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp
+++ b/Marlin/src/lcd/TFTGLCD/marlinui_TFTGLCD.cpp
@@ -557,16 +557,16 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const
     lcd_moveto(10, 5); lcd_put_u8str(F("ILAZ"));
     ammeter.read();
     lcd_moveto(11, 6);
-    if (ammeter.current <= 0.999f)
+    if (ammeter.current < 1.0f)
     {
       lcd_put_u8str("mA");
       lcd_moveto(10, 7);
-      lcd_put_u8str(F(" ")); lcd_put_u8str(ui16tostr3rj(uint16_t(ammeter.current * 1000 + 0.5f)));
+      lcd_put_u8str(F(" ")); lcd_put_u8str(ui16tostr3rj(uint16_t(ammeter.current ));
     }
     else {
       lcd_put_u8str(" A");
       lcd_moveto(10, 7);
-      lcd_put_u8str(ftostr12ns(ammeter.current));
+      lcd_put_u8str(ftostr12ns(ammeter.current*1000));
     }
 
     if (ammeter.current)  picBits |= ICON_BED;