Make digits shown by str(Real) reflect the precision more accurately
* Only display an exponent (no mantissa) if decimal precision < 1
* Don't strip trailing zeros
Before:
>>> N(cos(Rational(1,10000)))
0.
999999995
>>> N(fibonacci(1000) - GoldenRatio**1000/sqrt(5))
-4.0e+84
>>> N(10**90 + fibonacci(1000) - GoldenRatio**1000/sqrt(5))
1.0e+90
>>> N(10**95 + fibonacci(1000) - GoldenRatio**1000/sqrt(5))
1.0e+95
After:
>>> N(cos(Rational(1,10000)))
0.
999999995000000
>>> N(fibonacci(1000) - GoldenRatio**1000/sqrt(5))
-.0e+84
>>> N(10**90 + fibonacci(1000) - GoldenRatio**1000/sqrt(5))
1.000e+90
>>> N(10**95 + fibonacci(1000) - GoldenRatio**1000/sqrt(5))
1.
000000000e+95
Acked-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>