t/op/64bitint.t
Robin Houston [Thu, 10 May 2001 12:56:39 +0000 (13:56 +0100)]
Message-ID: <20010510125639.A2119@penderel>

p4raw-id: //depot/perl@10074

ext/B/B/Deparse.pm

index d88c2c7..f88b0fb 100644 (file)
@@ -3059,7 +3059,13 @@ sub const {
     } elsif ($sv->FLAGS & SVf_IOK) {
        return $sv->int_value;
     } elsif ($sv->FLAGS & SVf_NOK) {
-       return $sv->NV;
+       # try the default stringification
+       my $r = "".$sv->NV;
+       if ($r =~ /e/) {
+           # If it's in scientific notation, we might have lost information
+           return sprintf("%.20e", $sv->NV);
+       }
+       return $r;
     } elsif ($sv->FLAGS & SVf_ROK && $sv->can("RV")) {
        return "\\(" . const($sv->RV) . ")"; # constant folded
     } elsif ($sv->FLAGS & SVf_POK) {