in reply to Rounding up nearest ten, hundred etc

First, this
elsif($length == 2) { $num = (substr($num, 0, 1) + 1) . ('0'x($length-1)); }
could be
elsif($length == 2) { $num = (substr($num, 0, 1) + 1) . '0'; }
or even
elseif($length == 2){ $num = int($num/10) * 10; }
since $length is known to be 2.

But I am confused. In your example numbers of 1, 2 and 3 digits round to the nearest 10 and numbers of 4 digits round to the nearest 100. Could you please be more explicit about when to round to what?

Replies are listed 'Best First'.
Re^2: Rounding up nearest ten, hundred etc
by nite_man (Deacon) on Sep 27, 2004 at 17:03 UTC
    But I am confused. In your example numbers of 1, 2 and 3 digits round to the nearest 10 and numbers of 4 digits round to the nearest 100. Could you please be more explicit about when to round to what?

    It need to be rounded like that to find maximum number which will be used to build Y scale on the bar chart. That's way I need to round small numbers up to nearest ten, but big numbers - up to handred etc.

    ---
    Michael Stepanov aka nite_man

    It's only my opinion and it doesn't have pretensions of absoluteness!

      What people are calling attention to is that your examples show us what you want for numbers 1-4 digits long, and the rule is different for numbers that are 1-3 digits long, and numbers that are 4 digits long. If we knew you were only ever interested in numbers 1-4 digits long, that'd be all we needed to know.

      But if you're potentially interested in longer numbers, we're left with no idea what behavior you want or expect for numbers longer than 4 digits.

      Basically, I don't know what to make of your 'etc.' above. Are numbers from 4-6 digits rounded to the next hundred, and then 7-9 digits rounded to the next thousand?