diff --git a/cores/arduino/Print.cpp b/cores/arduino/Print.cpp
index 05a1f1882a20d73f242767be9358e79ca3dd9da0..33ee7210f52b8f0e8173955f6c23523ab6f7cfd0 100644
--- a/cores/arduino/Print.cpp
+++ b/cores/arduino/Print.cpp
@@ -245,7 +245,7 @@ size_t Print::printFloat(double number, uint8_t digits)
   while (digits-- > 0)
   {
     remainder *= 10.0;
-    int toPrint = int(remainder);
+    unsigned int toPrint = (unsigned int)remainder;
     n += print(toPrint);
     remainder -= toPrint;
   }