in reply to F***ing sprintf rounding - how does it work?

As one would expect?

2:51 >perl -e "printf qq[%s => %.20f => %.1f\n], (qq[0.${_}5]) x 3 fo +r (0..9)" 0.05 => 0.05000000000000000300 => 0.1 0.15 => 0.14999999999999999000 => 0.1 0.25 => 0.25000000000000000000 => 0.3 0.35 => 0.34999999999999998000 => 0.3 0.45 => 0.45000000000000001000 => 0.5 0.55 => 0.55000000000000004000 => 0.6 0.65 => 0.65000000000000002000 => 0.7 0.75 => 0.75000000000000000000 => 0.8 0.85 => 0.84999999999999998000 => 0.8 0.95 => 0.94999999999999996000 => 0.9

:-)

Athanasius <°(((><contra mundum

Replies are listed 'Best First'.
Re^2: Funny sprintf rounding - how does it work?
by ribasushi (Pilgrim) on Sep 03, 2012 at 17:02 UTC
    Gah! Such a simple and straightforward way to demonstrate this ;) Thanks!