Quote Originally Posted by natrap View Post
I can't use Math.Round because I want to round down always. Is there no solution to this phenomenon
Use Math.Floor then (but I realize this won't solve your main issue).

Floating point manipulation can be frustrating - there are entire university course dedicated to numerical analysis which cover this and more.
It can seem unintuitive to realize that a $5 calculator (or Windows 'Calculator') can perform rings around the output that we get for simple floating point calculations, but there it is. I've often thought that programming languages might benefit from having a 'calculator' mode - that is, perform as well as a calculator without having to have a math degree to make it happen.