Something like:

|[-1, -5.5, -44, -3.4432, 33.33].each { |x| puts sprintf("%12.5f", x) }
|    -1.00000
|    -5.50000
|   -44.00000
|    -3.44320
|    33.33000

or maybe

|[-1, -5.5, -44, -3.4432, 33.33].each { |x| puts sprintf("%1s%12.5f", x
< 0 ? '-' : ' ', x.abs) }
|-     1.00000
|-     5.50000
|-    44.00000
|-     3.44320
|     33.33000

or maybe:

|[-1, -5.5, -44, -3.4432, 33.33].each { |x| puts sprintf("%+5.5f",
x).sub('+',' ') }
|-1.00000
|-5.50000
|-44.00000
|-3.44320
| 33.33000

-----Original Message-----
From: Kevin Brown [mailto:blargity / gmail.com] 
Sent: Tuesday, 13 September 2005 1:25 PM
To: ruby-talk ML
Subject: Quick question.

Alright, I feel like an absolute idiot, but the question is simple, and
30 minutes of looking hasn't yet yeilded the answer.

I want to take a float (say 0.0) and output it with a space in front if
it's positive, - in front if it's negative, and be able to specify how
many numbers after the decimal get printed (padding with zeros).  This
will be used to output currency, and I just know there's a simple way to
do it with Ruby, but not finding it. :-)

Sorry to bother you all.



#####################################################################################
This email has been scanned by MailMarshal, an email content filter.
#####################################################################################