Skip to content

Inaccurate and Inconsistent results from 'round' function (PR#6905)

1 message · Duncan Murdoch

#
On Sat, 22 May 2004 06:34:14 +0200 (CEST), jkbreaux@san.rr.com wrote:

            
This is not a bug.  The problem is that floating point types do not
represent all decimal values exactly, so when you say

 > round(40.3655, 3)
 [1] 40.365

you are actually rounding a number which is slightly smaller than
40.3655.  The rounding works as advertised on exactly representable
numbers:

 > round(0.25,1)
 [1] 0.2
 > round(0.75,1)
 [1] 0.8

Duncan Murdoch