dsb has asked for the wisdom of the Perl Monks concerning the following question:
The comparison invariably failed. However, when I did a string comparison, it succeeded.# these two variables are indentical when printed to STDOUT $var1 = rand(1); $var2 = $soapres->dataof('//path/to/elem/')->attr->{attr}; if ( $var1 == $var2 ) { print "all is well\n"; } else { print "got problems?\n"; }
I'm guessing that this has something to do with the internal representation of the value returned by rand(). I'm guessing that the value is stored internally with a greater precision, so the numeric comparison between that value and the "truncated" value fails.# these two variables are indentical when printed to STDOUT $var1 = rand(1); $var2 = $soapres->dataof('//path/to/elem/')->attr->{attr}; if ( $var1 eq $var2 ) { print "all is well\n"; } else { print "got problems?\n"; }
Of course...this is just my theory.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: String comparison of numbers
by philcrow (Priest) on Mar 09, 2006 at 15:21 UTC | |
by dsb (Chaplain) on Mar 10, 2006 at 20:14 UTC |