I replicated your example and fully expected to get a sensible result, unlike yours. But no, I got those weird trailing decimal places as well.
ROUND doesn’t work as you would expect either. I think there’s something going on under the hood with floating point variables.
What you are trying to do should be possible and work as you would expect.