[R] convert one digit numbers to two digits one

Marc Schwartz marc_schwartz at me.com
Wed Nov 6 17:34:03 CET 2013

On Nov 6, 2013, at 10:25 AM, Alaios <alaios at yahoo.com> wrote:

> Hi all,
> the following returns the hour and the minutes
> paste(DataSet$TimeStamps[selectedInterval$start,4], DataSet$TimeStamps[selectedInterval$start,5],sep=":")
> [1] "12:3"
> the problem is that from these two I want to create a time stamp so 12:03. The problem is that the number 3 is not converted to 03. Is there an easy way when I have one digit integer to add a zero in the front? Two digits integers are working fine so far, 12:19, or 12:45 would appear correctly
> I would like to thank you in advance for your help
> Regards
> Alex

This is an example where using ?sprintf gives you more control:

> sprintf("%02d:%02d", 12, 3)
[1] "12:03"

> sprintf("%02d:%02d", 9, 3)
[1] "09:03"

The syntax '%02d' tells sprintf to print the integer and pad with leading zeroes to two characters where needed.


Marc Schwartz

More information about the R-help mailing list