Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

by Anonymous Monk
on Apr 04, 2002 at 15:16 UTC ( #156688=note: print w/ replies, xml ) Need Help??

in reply to Re: Re: Answer: How do I add commas to a number?
in thread numbers

Then simply extend the search/replace pattern. Since this is just cosmetics, it is not detrimental if it fails. Here is a complete example. Run this code and it will become clear what is going on:

$c1=$c2=$c3=111222333444555; $c1=~ s/^(-?\d+)(\d{3})(\d{3})/$1,$2,$3/; $c2=~ s/^(-?\d+)(\d{3})(\d{3})(\d{3})/$1,$2,$3,$4/; $c3=~ s/^(-?\d+)(\d{3})(\d{3})(\d{3})(\d{3})/$1,$2,$3,$4,$5/; print<<END; $c1 $c2 $c3 END

Comment on
Download Code
Replies are listed 'Best First'.
by Biker (Priest) on Apr 04, 2002 at 15:57 UTC

    It doesn't automatically scale. You must write that code with the knowledge of what is the biggest number you will handle.

    "Since this is just cosmetics, it is not detrimental if it fails."

    My users beg to disagree. Numbers not formatted correctly when presented on our Intranet Web pages may have a very high economical impact, including failed trades, penalty fees and loss of reputation.

    The right answer is here.

      What do you mean "Right answer"? There are many ways of doing things in perl. You don't have get snotty about it. Here is yet another way that is even more efficent then your "right answer", but not as efficent as my previous example:
      &commify($x);#Robust - Does all size numbers sub commify { local $_ = shift; 1 while s/(-?\d+)(\d{3})/$1,$2/; return $_; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://156688]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2015-11-25 12:34 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (674 votes), past polls