Change 21204 by [EMAIL PROTECTED] on 2003/09/13 06:47:23

        Subject: [perl #23788] int of a fraction errors 
        From: "Boyd, Brooks D" (via RT) <[EMAIL PROTECTED]>
        Date: 11 Sep 2003 22:38:19 -0000
        Message-ID: <[EMAIL PROTECTED]>
        
        Add a separate faq entry for int().  (Yes, a bit redundant
        with the existing "why are my numbers broken" entry.)

Affected files ...

... //depot/perl/pod/perlfaq4.pod#86 edit

Differences ...

==== //depot/perl/pod/perlfaq4.pod#86 (text) ====
Index: perl/pod/perlfaq4.pod
--- perl/pod/perlfaq4.pod#85~20981~     Mon Sep  1 04:28:35 2003
+++ perl/pod/perlfaq4.pod       Fri Sep 12 23:47:23 2003
@@ -28,6 +28,24 @@
 
        my $number = sprintf "%.2f", 10/3;
 
+=head2 Why is int() broken?
+
+Your int() is most probably working just fine.  It's the numbers that
+aren't quite what you think.
+
+First, see the above item "Why am I getting long decimals
+(eg, 19.9499999999999) instead of the numbers I should be getting
+(eg, 19.95)?".
+
+For example, this
+
+    print int(0.6/0.2-2), "\n";
+
+will in most computers print 0, not 1, because even such simple
+numbers as 0.6 and 0.2 cannot be presented exactly by floating-point
+numbers.  What you think in the above as 'three' is really more like
+2.9999999999999995559.
+
 =head2 Why isn't my octal data interpreted correctly?
 
 Perl only understands octal and hex numbers as such when they occur as
End of Patch.

Reply via email to