Pathologically Eclectic Rubbish Lister | |
PerlMonks |
Re: Rounding over numbersby Athanasius (Archbishop) |
on Feb 15, 2016 at 12:05 UTC ( [id://1155249]=note: print w/replies, xml ) | Need Help?? |
I’ve been thinking over this question in light of the notorious floating-point problems highlighted by kevbot and Laurent_R above. It does seem that kevbot’s recourse to Number::Format is the better option. Here’s the relevant code from the round subroutine in that module (omitting parameter checks, negative number handling, etc.):
This is, I think, the correct approach. But it still leaves me wondering...
I’m thinking the only foolproof method may be to avoid the use of floating-point numbers altogether by doing the calculation with integers, and inserting the decimal point only when the calculation is complete. Is there a module which takes this approach? So far, I haven’t found one (but I may well be looking in the wrong places). Any ideas? Update: Corrected typos in the second bullet point.
In Section
Seekers of Perl Wisdom
|
|