Rodei o comando

sprintf("%.14d", 1202342234)

e meu resultado foi

[1] "00001202342234"

Estou usando o R no Mac, então não sei se isto tem alguma influência no resultado

> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] gstat_1.0-19

loaded via a namespace (and not attached):
 [1] FNN_1.1          grid_3.0.3       intervals_0.14.0 lattice_0.20-29 
 [5] rgeos_0.3-4      sp_1.0-15        spacetime_1.1-0  tools_3.0.3     
 [9] xts_0.9-7        zoo_1.7-11 


2014-05-07 13:01 GMT-03:00 Rubem Kaipper Ceratti <rubem_ceratti@yahoo.com.br>:
Benilton,

Obrigado pela resposta. Eu deveria ter especificado melhor, mas o que eu preciso é que o resultado final seja o número original precedido por zeros, ie,

"000012023422344"

em vez de 

> sprintf("%.14f", 12023422344)
[1] "12023422344.00000000000000"

Sei que é possível escrever uma função que faça essa manipulação, mas imagino que haja uma forma mais direta.


Att.,
Rubem

De: Benilton Carvalho <beniltoncarvalho@gmail.com>
Para: r-br <r-br@listas.c3sl.ufpr.br>; Rubem Kaipper Ceratti <rubem_ceratti@yahoo.com.br>
Enviadas: Quarta-feira, 7 de Maio de 2014 12:26
Assunto: Re: [R-br] Formatação com sprintf

vc deve notar que o seu numero "12023422344", qdo representado no R, nao e' um inteiro...

is.integer(12023422344)

Entao, use a sugestao dada pelo proprio erro

sprintf("%.14f", 12023422344)

b



Em 7 de maio de 2014 11:56, Rubem Kaipper Ceratti <rubem_ceratti@yahoo.com.br> escreveu:
Caros listeiros,

Tenho um problema que consiste em transformar um certo número para formato 'character' com comprimento 14. Para isso tentei usar a função base::sprintf, mas para números com mais de 10 dígitos, recebo a mensagem de erro abaixo:

> sprintf('%.14d', 1202342234)
[1] "00001202342234"

> sprintf('%.14d', 12023422344)
Error in sprintf("%.14d", 12023422344) : 
  invalid format '%.14d'; use format %f, %e, %g or %a for numeric objects


Alguém sabe uma forma de contornar isso?


Grato,
Rubem

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.




_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--
Marcus Nunes
http://marcusnunes.me/