Mark Dickinson wrote:
... """[5]       These numbers are fairly arbitrary. They are intended to
   avoid printing endless strings of meaningless digits without
   hampering correct use and without having to know the exact
   precision of floating point values on a particular machine."""
I don't find this particularly convincing, though---I just don't see
a really good reason not to give the user exactly what she/he
asks for here.
As a user of Idle, I would not like to see the change you seek of
having %f stay full-precision.  When a number gets too long to print
on a single line, the wrap depends on the current window width, and
is calculated dynamically.  One section of the display with a 8000
-digit (100-line) text makes Idle slow to scroll around in.  It is
too easy for numbers to go massively positive in a bug.

 - the change isn't gentle:  as you go over the 1e50 boundary,
   the number of significant digits produced suddenly changes
   from 56 to 6;  it would make more sense to me if it
   stayed fixed at 56 sig digits for numbers larger than 1e50.
>  - now that we're using David Gay's 'perfect rounding'
>    code, we can be sure that the digits aren't entirely
>    meaningless, or at least that they're the 'right' meaningless
>    digits.  This wasn't true before.

However, this is, I agree, a problem.  Since all of these numbers
should end in a massive number of zeroes, how about we replace
only the trailing zeroes with the e, so we wind up with:
     1157920892373161954235709850086879078532699846656405640e+23
  or 115792089237316195423570985008687907853269984665640564.0e+24
or some such, rather than
     1.157920892373162e+77
  or 1.15792089237316195423570985008687907853269984665640564e+77

--Scott David Daniels
scott.dani...@acm.org

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to