What I need is just as much number of digits as possible. If I can hold as many digits of pi, i.e. 3.1415926535... as possible and save it in a String, it will be perfect!
Perhaps you had some experience with a computer algebra system (Maple, Mathematica, etc.) and was expecting similar behavior?
While it's certainly possible to build it on top of Haskell, these kind of floating-point features aren't available out of the box. Haskell provides only fixed-bitwidth floating point.
As Oscar recommended, you probably want a String -> String function, say