[Cascavel-pm] Formatando com Sprintf
Nelson Ferraz
nferraz em gmail.com
Quarta Agosto 29 13:33:27 PDT 2007
> Pessoal... estou usando o sprintf para formatar a saida no meu arquivo,
> Tenho um array e apartir dele quero imprimir os dados formatados..
> estou fazendo:
>
> for ($i=0;$i<@valores;$i++)
> {
>
> print OUT sprintf('%9.2f',$valores[$i]);
> }
Por que você usa o "for" como se estivesse programando em C? Que tal:
foreach ( @valores ) {
print OUT sprintf('%9.2f', $_);
}
Isso é bem melhor do que ficar controlando os índices do array. (Você
pode usar uma variável nomeada ao invés de $_, se quiser).
> tentei fazer direto no @array.. nao consegui...
Você pode transformar um array em outro usando map:
my @formated = map { sprintf('%9.2f', $_) } @valores;
Mas acho um desperdício usar um array auxiliar quando você pode
simplesmente usar um loop -- como já fez no exemplo inicial.
[]s
Nelson
Mais detalhes sobre a lista de discussão Cascavel-pm