in reply to Numbers aren't averaging correctly

Are you parsing out the commas first? Perl auto-converts strings into numbers, but it doesn't like non-alphanumeric characters and when it finds some it just makes a guess.

perl -le 'print "2,300" + "3,500"'

Output:

5

Replies are listed 'Best First'.
Re^2: Numbers aren't averaging correctly
by revdiablo (Prior) on Oct 06, 2005 at 14:25 UTC

    It doesn't really just make a guess. It grabs all the numeric value it can find from the front of the string, and truncates anything past that. You can see the effect in action:

    my @strings = qw( 2,300 2.54xyz123 2e32abc3 2.34,23 ); for (@strings) { print "$_ => ", 0+$_, "\n"; }

    This prints:

    2,300 => 2 2.54xyz123 => 2.54 2e32abc3 => 2e+32 2.34,23 => 2.34