APM: Perl zero not being zero, but 7e-12

HCoyote hcoyote at ghostar.ath.cx
Mon Sep 12 22:33:23 PDT 2005


On Mon, Sep 12, 2005 at 10:46:23AM -0500, David Bluestein II wrote:
> Okay, I've seen this before and have a question how to avoid it.
> 
> I take two variables:
> 
> $a= 38071.63;
> $b = $i + $j; # Where $i + $j => 38071.63
> 
> print "$a : $b"; # results in 38071.63 : 38071.63
> 
> Yet if I do:
> 
> if ($a == $b) {
> print "Equal";
> } else {
> print "Not equal";
> }
> 
> I get a "Not equal".
> 
> If I subtract ($b-$a) the result is 7.27595761418343e-12. How do I get 
> Perl to ignore this "noise" which comes from someplace?

I suggest a new computer. :-)

I can't get this to do the same thing on any system I test on.  Does it happen only one
one system for you or is it consistently the same number?  Does it change depending on
your choice of $i and $j?


Travis


More information about the Austin mailing list