http://qs321.pair.com?node_id=11123241


in reply to Re^3: int() function
in thread int() function

On my CentOS 7 box with perl-5.16.3

That's certainly one instance where you do benefit from formatting with "%.100f" instead of "%.100g".
Thank you for pointing this out.
Turns out that it's the same on my Ubuntu box with perl-5.18.0.
But with perl-5.32.0 on the same box, "%.100g" formatting works fine - so, there's a change in perl's behaviour between 5.18 and 5.32.
I would guess that "%.100g" formatting on your CentOS 7 box would also work fine on perl-5.32.

But I should point out that, even though "%.100g" formatting works ok on Ubuntu with perl-5.32.0, "%.*g" formatting is still buggy if you request a precision in the range 18..91 (inclusive).
$ perl -le 'printf "%.91f\n", 0.15;' 0.14999999999999999444888487687421729788184165954589843750000000000000 +00000000000000000000000 $ perl -le 'printf "%.91g\n", 0.15;' 0.14999999999999999 $ perl -le 'printf "%.92g\n", 0.15;' 0.1499999999999999944488848768742172978818416595458984375
Cheers,
Rob