On Tue, Aug 02, 2016 at 09:56:38AM -0700, Zefram wrote:
> > (1180591620717411303424.0e0).Int
> 1180591620717411303424
> > sprintf("%f", 1180591620717411303424.0e0)
> 1180591620717410000000.000000
> 
> sprintf %f is not showing the true value of this Num, which it should.
> The .Int coercion is correct, and shows that the true value is actually
> available.

Nums hold only 15-17 digits of precision, so sprintf("%f")
likely has this one correct.

In particular, the true value is *not* always available, as illustrated by:

  > (1180591620717411303424.0e0).Int
  1180591620717411303424
  > (1180591620717411303434.0e0).Int
  1180591620717411303424

Pm

Reply via email to