in reply to Re: stripping "." from amounts
in thread stripping "." from amounts

Be careful when doing that; using int to round reduces portability:

int EXPR

int

Returns the integer portion of EXPR. If EXPR is omitted, uses $_. You should not use this function for rounding: one because it truncates towards 0, and two because machine representations of floating point numbers can sometimes produce counterintuitive results. For example, "int(-6.725/0.025)" produces -268 rather than the correct -269; that's because it's really more like -268.99999999999994315658 instead. Usually, the "sprintf", "printf", or the "POSIX::floor" and "POSIX::ceil" functions will serve you better than will int().

Replies are listed 'Best First'.
Re^3: stripping "." from amounts
by CountZero (Bishop) on Jul 21, 2007 at 06:46 UTC
    True, but one should never use int to round a value, just to get the integer portion. The manual is very clear on that and the OP did not ask for rounding.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James