On 6/8/2006 5:42 PM, Dennis Fisher wrote:> Colleagues
> 
> I have numbers like "12012" that I will be printing in a graphic.
I
> would like to format them as follows: 012-012, i.e., the first two  
> digits padded to the left by a zero, followed by a dash, followed by  
> the final three digits, also padded to the left by zeros.
> 
> I can do this with brute force:
> 
> FirstPart			<- sprintf("%03d", floor(Number / 1000))
> SecondPart		<- sprintf("%03d", WhichID %% 1000)
> Combined		<- paste(FirstPart, "-", SecondPart,
sep="")
> 
> But, I suspect that there is some more clever means to accomplish  
> this using formatC or sprintf.  Unfortunately, the help pages don't  
> provide sufficient insight.  I would appreciate any tricks to  
> accomplish this.
> 
I think you need to do the separation into two parts as you did (or 
using %/%), but it can all be one sprintf:
sprintf("%03d-%03d", Number %/% 1000, Number %% 1000)
Duncan Murdoch