in reply to Strange int() result

35784.45 * 100 is in fact
$ perl -e 'printf "%.15f\n", 35784.45 * 100' 3578444.999999999534339

See What every computer scientist should know about floating-point arithmetic for explanation.

int just removes the part after the dot (for positive numbers, at least). Its documentation contains a list of functions you can use to get more pleasant results.

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: Strange int() result
by RonW (Parson) on Jun 18, 2014 at 17:16 UTC

    3578444.999999999534339 suggests you are running into the limits of your Perl/PC combination's floating point handling.

    Your problem would be better handled with fix point arithmetic. Look at Math::BigInt.