I don’t think it’s wrong. It has to do with the way that double-precision floating point numbers work. This isn’t unique to Dynamo.
https://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/
So basically, if you need precision out to the 16th decimal place, don’t use a double. Or just round it off