Earlier quoted context omitted.
> Sometimes being compatible is more important than being correct. It's a simple conversion for the sake of precision. If you are dealing with money transactions, you should strive for precise values wherever and whenever possible.
If your customers are already using floats, precision has already been lost. They're sending you data that already has floating-point round-off. If you then treat that as integer numbers of cents, you're adding additional round-off error by converting their 23 bits of binary precision to 2 digits of decimal precision. It's better to use the same format they do so that all floating-point error occurs within their syst…
Obviously only convert to real numbers if you are doing operations on numbers in your system, otherwise keep in client format like you said.