[noob question] convert 7 in 07

Hi,

I would like to display numbers with a 0 before when there is only one
char.
For exemple if I gets the number 4, I would like to return 04.

After looking methods on
http://www.ruby-doc.org/core/classes/Fixnum.html, I don't see how to
process. Of cours it is possible to convert a number into string and
after add a 0, but it's not very friendly.

Thanks for ideas

···

--
Posted via http://www.ruby-forum.com/.

Please look up sprintf, printf and String#%.

Cheers

robert

···

2009/4/22 Paul A. <cyril.staff@gmail.com>:

I would like to display numbers with a 0 before when there is only one
char.
For exemple if I gets the number 4, I would like to return 04.

After looking methods on
http://www.ruby-doc.org/core/classes/Fixnum.html, I don't see how to
process. Of cours it is possible to convert a number into string and
after add a 0, but it's not very friendly.

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

irb(main):001:0> n=7
=> 7
irb(main):002:0> "%02d" % n
=> "07"

···

--- On Wed, 4/22/09, Paul A. <cyril.staff@gmail.com> wrote:
From: Paul A. <cyril.staff@gmail.com>
Subject: [noob question] convert 7 in 07
To: "ruby-talk ML" <ruby-talk@ruby-lang.org>
Date: Wednesday, April 22, 2009, 6:39 AM

Hi,

I would like to display numbers with a 0 before when there is only one
char.
For exemple if I gets the number 4, I would like to return 04.

After looking methods on
http://www.ruby-doc.org/core/classes/Fixnum.html, I don't see how to
process. Of cours it is possible to convert a number into string and
after add a 0, but it's not very friendly.

Thanks for ideas
--
Posted via http://www.ruby-forum.com/.

counter = 1; sprintf("%02d", counter) # => "01"

In general, the ruby String class is much better than Int class -
because Strings are like everywhere in ruby. I believe Matz once said
that the String class was most work (or devoured most manhours when he
worked on ruby initially)

···

--
Posted via http://www.ruby-forum.com/.

I would like to display numbers with a 0 before when there is only one
char.
For exemple if I gets the number 4, I would like to return 04.

After looking methods on
http://www.ruby-doc.org/core/classes/Fixnum.html, I don't see how to
process. Of cours it is possible to convert a number into string and
after add a 0, but it's not very friendly.

Please look up sprintf, printf and String#%.

And keep in mind that you will have to convert to string anyway,
because while 07 is fine
08 and 09 are illegal in Ruby—it treats numbers with leading zero as
octal numbers:

7

=> 7

07

=> 7

8

=> 8

08

SyntaxError: (irb):4: Invalid octal digit from /usr/local/bin/irb:12:in `<main>'

Regards,
Rimantas

···

--
http://rimantas.com/

Dan's suggestion is the simplest. But I want to point out that you can
add a Fixnum method yourself, if you are so inclined:

class Fixnum
  def to_formatted_s
    "%02d" % self
  end
end

puts 7.to_formatted_s

···

On Apr 22, 6:58 am, "DanDiebolt.exe" <dandieb...@yahoo.com> wrote:

[Note: parts of this message were removed to make it a legal post.]

irb(main):001:0> n=7
=> 7
irb(main):002:0> "%02d" % n
=> "07"

--- On Wed, 4/22/09, Paul A. <cyril.st...@gmail.com> wrote:
From: Paul A. <cyril.st...@gmail.com>
Subject: [noob question] convert 7 in 07
To: "ruby-talk ML" <ruby-t...@ruby-lang.org>
Date: Wednesday, April 22, 2009, 6:39 AM

Hi,

I would like to display numbers with a 0 before when there is only one
char.
For exemple if I gets the number 4, I would like to return 04.

After looking methods onhttp://www.ruby-doc.org/core/classes/Fixnum.html, I don't see how to
process.

*'s suggestion is the simplest

Well I just picked it up on one of the n-tips for ruby lists. This isn't the list I originally studied but it does contain the same idea in tip #9:

9. Pretty print strings decimals. The format descriptors are pretty
much similar to those used in C’s printf so I won’t go into details.

my_string = "%01d %06d %02d" % [type, code, age]
http://alexbrie.net/2002/10-ruby-programming-tips-you-should-already-know/

These lists are an invaluable resource to improve your code.