Float values randomly change - UE-75081

Re: UE-75081
Can someone explain how this is “By Design”? It’s impossible, at this point, to have any expected results when dealing with float values in Blueprints, given that some random float values change.

For example, let’s say I’m trying to loop through and multiple 3.62.1. The actual results of entering values into the * node is:
3.5999999
2.0999999

How in the world is this an intentional design choice? And not just how, but why? What possible reason is there for changing values in unexpected ways?

This is caused by the internal representation of floating point numbers. It uses a fixed number of binary digits to represent a decimal number. Some decimal numbers can’t be represented exactly in binary, resulting in small roundoff errors.