Add a zero on single digit numbers

Using DateTime.now.min I often get single digit numbers like “7”.
However “22:7” isn’t really adequate for displaying time properly; I
want “22:07”.

Is there any way add a 0 onto the front of a Fixnum?

I understand I could convert it into a string and add a zero onto the
front of that string, but that’s not really ideal.

[email protected] wrote:

Using DateTime.now.min I often get single digit numbers like “7”.
However “22:7” isn’t really adequate for displaying time properly; I
want “22:07”.

Is there any way add a 0 onto the front of a Fixnum?

I understand I could convert it into a string and add a zero onto the
front of that string, but that’s not really ideal.

check out DateTime#strftime.

On Sun, Nov 19, 2006, [email protected] wrote:

Is there any way add a 0 onto the front of a Fixnum?

Sure:

num = 7
printf(’%02d’, num)

You can use #sprintf instead if you want to assign that back to a
variable.

That said, Timothy’s suggestion of using #strftime is a much better
solution to your problem… it’s just valuable to know about #(s)printf
in general.

Ben

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs