# Format strings?

**URL:** <https://www.ruby-forum.com/t/format-strings/61375>\
**Category:** Ruby\
**Created:** [May 23, 2006, 4:19pm UTC](https://www.ruby-forum.com/t/format-strings/61375 "2006-05-23T16:19:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:19pm UTC](https://www.ruby-forum.com/t/format-strings/61375/1 "2006-05-23T16:19:12Z")

</div>

Having an int object, let’s say the value is 2, I’d like to print  
it out as “0002”. I miss C’s format strings. Any hints ? Thanks in  
advance.

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:25pm UTC](https://www.ruby-forum.com/t/format-strings/61375/2 "2006-05-23T16:25:21Z")

</div>

Kernel#sprintf ?

[http://www.ruby-doc.org/core/classes/Kernel.html#M002983](http://www.ruby-doc.org/core/classes/Kernel.html#M002983)

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:25pm UTC](https://www.ruby-forum.com/t/format-strings/61375/3 "2006-05-23T16:25:28Z")

</div>

On 5/23/06, Vlad GALU [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Having an int object, let’s say the value is 2, I’d like to print  
> it out as “0002”. I miss C’s format strings. Any hints ? Thanks in  
> advance.

def format3(int)  
fmtStr = sprintf(“%04d”, int)  
print “#{fmtStr}\n”  
end

format3(2)

-Madan.

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:25pm UTC](https://www.ruby-forum.com/t/format-strings/61375/4 "2006-05-23T16:25:35Z")

</div>

On 5/23/06, Vlad GALU [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Having an int object, let’s say the value is 2, I’d like to print  
> it out as “0002”. I miss C’s format strings. Any hints ? Thanks in  
> advance.

Ah I found Kernel#printf, sorry for the noise 🙂

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:28pm UTC](https://www.ruby-forum.com/t/format-strings/61375/5 "2006-05-23T16:28:56Z")

</div>

On May 23, 2006, at 9:16 AM, Vlad GALU wrote:

> Having an int object, let’s say the value is 2, I’d like to print  
> it out as “0002”. I miss C’s format strings. Any hints ? Thanks in  
> advance.

Miss them no longer:

> > value = 2  
> > =\> 2
> 
> > sprintf “%04d”, value  
> > =\> “0002”
> 
> > “%04d” % value  
> > =\> “0002”

😉

James Edward G. II

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:29pm UTC](https://www.ruby-forum.com/t/format-strings/61375/6 "2006-05-23T16:29:18Z")

</div>

On 5/23/06, Vlad GALU [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Having an int object, let’s say the value is 2, I’d like to print  
> it out as “0002”. I miss C’s format strings.

printf “%04d”, 2

Ruby has format strings!  
-tim

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 5:15pm UTC](https://www.ruby-forum.com/t/format-strings/61375/7 "2006-05-23T17:15:12Z")

</div>

Another option:

irb(main):001:0\> ‘%04d’ % 2  
=\> “0002”

---

<div class="post-metadata">

**Author:** ![Vlad\_GALU](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/eb9ed0/32.png) [@Vlad\_GALU](https://www.ruby-forum.com/u/Vlad_GALU)\
**Post date:** [May 23, 2006, 4:36pm UTC](https://www.ruby-forum.com/t/format-strings/61375/8 "2006-05-23T16:36:04Z")

</div>

On 5/23/06, Tim B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 5/23/06, Vlad GALU [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Having an int object, let’s say the value is 2, I’d like to print  
> > it out as “0002”. I miss C’s format strings.
> 
> printf “%04d”, 2
> 
> Ruby has format strings!  
> -tim

Thank you all! I noticed soon after I posted the question _blush_ 🙂
