diff --git a/src/ArduinoJson/Serialization/FloatParts.hpp b/src/ArduinoJson/Serialization/FloatParts.hpp index d7524774..e7ca8194 100644 --- a/src/ArduinoJson/Serialization/FloatParts.hpp +++ b/src/ArduinoJson/Serialization/FloatParts.hpp @@ -27,9 +27,8 @@ struct FloatParts { exponent = normalize(value); integral = uint32_t(value); - TFloat remainder = value - TFloat(integral); + TFloat remainder = (value - TFloat(integral)) * TFloat(maxDecimalPart); - remainder *= maxDecimalPart; decimal = uint32_t(remainder); remainder = remainder - TFloat(decimal);