Thanks for your bug report. As described above, this is unfortunately due to the way floating point works. Treating the parameter as text and truncating it at the decimal point would only work for some numbers and the numbers would still be rounded if used anywhere else in your script. However, I did find an issue with $int() rounding some longer decimal place negative values and this has been fixed for the next version.