Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Simple adding numbers

by nvivek (Vicar)
on Mar 26, 2013 at 05:03 UTC ( #1025434=note: print w/ replies, xml ) Need Help??

in reply to Simple adding numbers

When I used lt instead of < operator, it works as you expected. Still, lt operator used for comparing strings not for numerals. As per my understanding, perl tries to implicitly convert both $i and 1 as strings and do comparison. If somebody finds different reason for it, kindly clarify me.

my $range = 0.1; my $i = 0; while( $i lt 1 ) { print $i."\n"; $i = $i + $range; }

Comment on Re: Simple adding numbers
Download Code
Replies are listed 'Best First'.
Re^2: Simple adding numbers
by davido (Archbishop) on Mar 26, 2013 at 05:38 UTC

    perl -E say 'Ouch!' if '0002' lt 1;


    I would recommend caution if you're going to go down that road. The best thing to do is to simply understand the nature of floating point precision and deal with it in the most straight-forward way possible. Stringification has its uses, but bending the rules of numeric relational comparisons is probably not an ideal one.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1025434]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2015-11-27 09:33 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (722 votes), past polls