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
. Moreover, int 'Inf'
produces Inf (see "Special floating point: infinity (Inf) and not-a-number (NaN)" in perldata for explanation), but so do all the alternative methods mentioned above.