Forum: Ruby Formatted output for numbers with comma's?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Wink Saville (Guest)
on 2006-03-14 10:14
(Received via mailing list)
I was looking for a routine to convert a Number to a string with
comma's, is there a routine in the library for that?

Wink
Gene T. (Guest)
on 2006-03-14 10:44
(Received via mailing list)
Wink Saville wrote:
> I was looking for a routine to convert a Number to a string with
> comma's, is there a routine in the library for that?
>


http://rubyforge.org/snippet/detail.php?type=snipp...

http://extensions.rubyforge.org/rdoc/classes/Numer...
http://sourceforge.net/projects/ruby-locale/

http://globalize-rails.org/wiki/
James G. (Guest)
on 2006-03-14 15:49
(Received via mailing list)
On Mar 14, 2006, at 2:11 AM, Wink Saville wrote:

> I was looking for a routine to convert a Number to a string with
> comma's, is there a routine in the library for that?

It's not very hard to roll up a solution:

   def commify( number )
     number.to_s.reverse.gsub(/(\d\d\d)(?=\d)(?!\d*\.)/, '\1,').reverse
   end

Hope that helps.

James Edward G. II
Vrtwo L. (Guest)
on 2006-03-15 03:28
(Received via mailing list)
This would be a nice (ruby builtin) method :-)


  def commify( number, positions)
    positions = 3 if positions == nil
    puts number.to_s.reverse.gsub(/(\d\d\d)(?=\d)(?!\d*\.)/,
'\1,').reverse
      ^ not very sure how it would be done but something similar to
("\d"*positions)
  end

  puts commify(12345) # 12,345
  puts commify(12345, 2) # 1,23,45
SteveC (Guest)
on 2006-03-20 01:31
(Received via mailing list)
* @ 15/03/06 01:27:40 AM removed_email_address@domain.invalid wrote:
> This would be a nice (ruby builtin) method :-)

+1 vote as I've needed it quite a bit.

How would I/we go about getting something like this in stdlib?

have fun,

SteveC removed_email_address@domain.invalid http://www.asklater.com/steve/
Austin Z. (Guest)
on 2006-03-20 02:11
(Received via mailing list)
On 3/14/06, James Edward G. II <removed_email_address@domain.invalid> wrote:
> On Mar 14, 2006, at 2:11 AM, Wink Saville wrote:
> > I was looking for a routine to convert a Number to a string with
> > comma's, is there a routine in the library for that?
>
> It's not very hard to roll up a solution:
>
>    def commify( number )
>      number.to_s.reverse.gsub(/(\d\d\d)(?=\d)(?!\d*\.)/, '\1,').reverse
>    end

...it's significantly harder to do it completely *right*, though.

See Gavin S.'s Extensions library in Numeric. I have a
relatively complete method written there, done in test-first style.

-austin
This topic is locked and can not be replied to.