diff --git a/include/fmt/format.h b/include/fmt/format.h
index dae4d37e..22c0d1b4 100644
--- a/include/fmt/format.h
+++ b/include/fmt/format.h
@@ -1983,7 +1983,7 @@ inline auto write_significand(Char* out, UInt significand, int significand_size,
   int floating_size = significand_size - integral_size;
   for (int i = floating_size / 2; i > 0; --i) {
     out -= 2;
-    copy2(out, digits2(significand % 100));
+    copy2(out, digits2(static_cast<std::size_t>(significand % 100)));
     significand /= 100;
   }
   if (floating_size % 2 != 0) {