With fixed point or arbitrary-precision math, you either need to (a) set the level of precision explicitly, which is just as bad about forcing the user to understand the underlying model, or (b) have the language choose the level of precision heuristically, and have even more unpredictable performance and rounding characteristics.
There's no language that lets you do real-world work with numbers like sqrt(2) or PI without understanding precision and representation to some degree.