I just rolled my own significant digits subroutines and felt like I should look it up to see what other people have done before I start incorporating it in any apps I roll out - in case anyone handled it better. I took a look at Math::SigFigs, and I'm not sure I agree with the way some of the numbers are handled. First, I've never seen a number with a trailing decimal point to suggest that any trailing zeroes to the left of it are significant. Without that decimal point, the module assumes that all trailing zeros in whole numbers are not significant, but while I understand the intent here, I'd be wary of the output. 0 is a digit just like any other and does not necessarily convey significance when the number ends with some number of zeros. You could have any number of trailing zeros and any fraction of them could be significant. Also, the module does not handle exponents. I wrote my code to extract the number from the left of the exponent and make a recursive call with it, tacking the exponent back on when it comes back. This module just returns undef. That said, this module appears written more efficiently than my attempt - just be aware of the caveats. | [reply] |
This is just what I was talking about in my
earlier post. I only wish it had a better (object oriented)
interface that could be used transparently in
arithmetic. Doing a complicated formula using Math::SigFigs
seems like a lot of trouble. | [reply] |