diff --git a/Marlin/ultralcd.pde b/Marlin/ultralcd.pde
index 98d9f4bc862addd1a913b994c84d1e745a8d786c..5663dda80f55784de2a08dd7c5e95b5c477a919b 100644
--- a/Marlin/ultralcd.pde
+++ b/Marlin/ultralcd.pde
@@ -2621,7 +2621,7 @@ char *ftostr31(const float &x)
 
 char *ftostr32(const float &x)
 {
-  int xx=x*100;
+  long xx=x*100;
   conv[0]=(xx>=0)?'+':'-';
   xx=abs(xx);
   conv[1]=(xx/100)%10+'0';
@@ -2666,7 +2666,7 @@ char *itostr4(const int &xx)
 //  convert float to string with +1234.5 format
 char *ftostr51(const float &x)
 {
-  int xx=x*10;
+  long xx=x*10;
   conv[0]=(xx>=0)?'+':'-';
   xx=abs(xx);
   conv[1]=(xx/10000)%10+'0';
@@ -2682,7 +2682,7 @@ char *ftostr51(const float &x)
 //  convert float to string with +123.45 format
 char *ftostr52(const float &x)
 {
-  int xx=x*100;
+  long xx=x*100;
   conv[0]=(xx>=0)?'+':'-';
   xx=abs(xx);
   conv[1]=(xx/10000)%10+'0';