[R-br] Formatação com sprintf

Benilton Carvalho beniltoncarvalho em gmail.com
Quarta Maio 7 13:46:00 BRT 2014


talvez

sprintf("%014.0f", 12023422344)

?


Em 7 de maio de 2014 13:11, Marcus Nunes <marcus.nunes em gmail.com> escreveu:

> 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/
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140507/87215be9/attachment.html>


Mais detalhes sobre a lista de discussão R-br