Floating-point related issues
As an illustration, consider what happens in Python, a popular high-level language when attempting to serialize the value 0.3 (expressed as 0.1 + 0.2) into JSON:
>>> import json >>> json.dumps(0.1 + 0.2) '0.30000000000000004'
The net consequence of this is that any time Python would attempt to serialize a floating-point number into JSON, we cannot be sure that it does not end up with an unnecessary amount of extra digits at the end due to rounding errors. Therefore, in cases where it is possible, it makes more sense to use signed or unsigned integers when transmitting these values over the wire, and then do the appropriate conversion to floats at the very end of the data processing pipeline where the value has to be presented to the user.
For more information about this topic, refer to What Every Programmer Should Know About Floating-Point Arithmetic for a high-level overview and What Every Computer Scientist Should Know About Floating-Point Arithmetic for a more thorough academic discussion.