[Rd] print(...,digits=2) behavior

Martin Maechler maechler at stat.math.ethz.ch
Mon Mar 7 19:24:27 CET 2011

Taking up the thread that Ben Bolker started on Feb.5 ...

In the mean time, with lots of contributions from Petr Savicky,
we have fixed the bug (and even related bugs that were not

The consequence is that a sizable fraction of all (numeric) R
outputs does change (very) slightly, typically using a digit
more or less than previously.
Several of the recommended packages, e.g., needed some adjustments
of their  tests/*.Rout.save files.

Here are the current NEWS entries related to that:

[ ........ ]

    • Printing and formatting of floating point numbers is now using
      the correct number of digits, where it previously rarely differed
      by a few digits. (See “scientific” entry below.)  This affects
      _many_ *.Rout.save checks in packages.

[ ........ ]

    • The internal (C) function scientific(), at the heart of R's
      format.info(x), format(x), print(x), etc, for numeric x, has been
      re-written in order to provide correct results, fixing PR#14491,
      notably in border cases, including when digits >= 16, thanks to
      substantial contributions (code and experiments) from Petr
      Savicky.  This affects a noticable amount of numeric output from


Feedback is welcome, but  flames > /dev/null
Martin Maechler

More information about the R-devel mailing list