From: Dumaiu Date: 2006-07-23T09:05:11+09:00 Subject: Re: Function for integers to displayed with same number of digit Here's what I've done. Numeric formatting for output is most natural with printf(): 'printf("%d", )', where is the number of digits, is the number to be displayed, and is the fill character. So printf( "%04d", 100 ) yields '0100', as you're padding with zeros out to four places. This is all well and good for display purposes, but what about for internal use? The only solution I've found so far is to use the stringio library, which works a bit like C++'s , if you're familiar with that. That is, it lets you do I/O operations on Strings. But it can be a bit odd until you get used to it. If, as above, you wanted to convert a number to a four-character string: require 'stringio' s = String.new StringIO.new( s ).printf("%04d", 100) Variable s will now hold '0100'. The StringIO ctor takes a reference to an existing String, so you can't do the whole operation in one command. Note that s now functions like an output stream, repeated StringIO operations appending to it rather than overwriting it, and you must manually "flush" it with an empty-string assignment if you intend to reuse it as an output buffer. Boy, I got to use a lot of jargon in that one. -Jonathan