[R-br] Formatação com sprintf
Marcus Nunes
marcus.nunes em gmail.com
Quarta Maio 7 13:11:01 BRT 2014
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 em 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 em gmail.com>
> *Para:* r-br <r-br em listas.c3sl.ufpr.br>; Rubem Kaipper Ceratti <
> rubem_ceratti em 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 em 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 em 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 em 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/
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140507/b73bec80/attachment.html>
Mais detalhes sobre a lista de discussão R-br