in reply to Re: number comparison with a twist
in thread number comparison with a twist
$num2 is a float with rounding error after already before the multiplication.
Just the string representation will ignore the rounding error hence eq will work here.
I that's reliable for all cases? I don't dare saying.
DB<4> $num2 ="19.90" DB<5> printf "%.20f", $num2*100 1989.99999999999980000000 DB<6> p 1990 == $num2 *100 DB<7> p 1990 eq $num2 *100 1 DB<8> say ">". $num2 *100 ."<" >1990< DB<9>
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: number comparison with a twist
by Veltro (Hermit) on Mar 02, 2020 at 15:38 UTC | |
by LanX (Saint) on Mar 02, 2020 at 17:15 UTC | |
by Veltro (Hermit) on Mar 02, 2020 at 18:16 UTC | |
by LanX (Saint) on Mar 02, 2020 at 18:22 UTC | |
by Veltro (Hermit) on Mar 02, 2020 at 21:18 UTC | |
|