I think this is already fixed in https://github.com/rakudo/rakudo/commit/f6e25b54ea18ba7bd7d7861537d2439933000cb3
¦f6e25b54ea18ba7bd7d78^: 1.000000000000000083886070 Rat|99999999999999999999999/99999999999999991611392 True ¦f6e25b54ea18ba7bd7d78: 1 Rat|99999999999999999999999/100000000000000000000000 False Maybe tests this were already added in https://rt.perl.org/Ticket/Display.html?id=130845 , but I'll mark it as TESTNEEDED just in case. On 2015-09-18 12:45:27, zef...@fysh.org wrote: > $ ./perl6 -e 'my $a = 0.99999999999999999999999; say $a; say $a.WHICH; > say $a > 1' > 1.000000000000000083886070 > Rat|99999999999999999999999/99999999999999991611392 > True > > The Rat that is generated from this literal is a pretty poor > approximation > of the value that it appears to represent. 1/1 would have been a > better approximation, if it's not acceptable to handle it exactly. > Adding more 9s to the literal produces a variety of approximated Rats, > of varying quality, some above 1 and some below. > > -zefram