[R-br] Formatação com sprintf
Rubem Kaipper Ceratti
rubem_ceratti em yahoo.com.br
Quarta Maio 7 14:14:33 BRT 2014
Resolvido! Obrigado novamente.
________________________________
De: Benilton Carvalho <beniltoncarvalho em gmail.com>
Para: r-br <r-br em listas.c3sl.ufpr.br>
Cc: Rubem Kaipper Ceratti <rubem_ceratti em yahoo.com.br>
Enviadas: Quarta-feira, 7 de Maio de 2014 13:46
Assunto: Re: [R-br] Formatação com sprintf
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/e071f66a/attachment.html>
Mais detalhes sobre a lista de discussão R-br