[R] Numbers that look equal, should be equal, but if() doesn't see as equal (repost with code included)
Duncan Murdoch
dmurdoch at pair.com
Wed May 28 20:58:35 CEST 2003
On Wed, 28 May 2003 15:59:45 +0100 (BST), Prof Brian Ripley
<ripley at stats.ox.ac.uk> wrote:
>> print(c(0.1 + 0.2, 0.3), digits=20)
>[1] 0.30000000000000004 0.29999999999999999
>
>yet
>
>> print(c(0.1, 0.2, 0.3), digits=20)
>[1] 0.1 0.2 0.3
Is this the way things should work? Why isn't 0.3 printed as
0.30000000000000000 the first time, or as 0.29999999999999999 the
second time? Surely its value is the same in both print statements,
and the requested format is the same in both.
Duncan Murdoch
More information about the R-help
mailing list