Tem sim. Por exemplo: para imprimir com 10 casas depois da vírgula, troque o
"%f" por
".10f".
Em geral você pode usar uma especificação de formato como
"%8.4f", onde o número que vem antes do ponto (o 8, nesse caso) especifica a largura mínima do campo que será impresso (o número ocupará um campo com pelo menos 8 colunas, podendo ocupar mais colunas se necessário) e o número que vem depois do campo especifica o número de casas depois da vírgula. Assim,
"%8.4f" diz que o
float deve ser impresso com 4 casas depois da vírgula e o número impresso (todo ele: a parte que vem antes da vírgula, a vírgula e as casas depois da vírgula) deve ocupar pelo menos 8 colunas. No primeiro exemplo acima (
"%.10f") a largura mínima do campo não é especificada, só o número de casas depois da vírgula.
Pode-se também usar especificações
"%g" para impressão de
floats. Também podemos escrever coisas como
"%16.10g", etc. O
"%g" é
muito útil. Ele funciona como o
"%f", com duas diferenças:
- Números muito pequenos ou muito grandes são automaticamente impressos na notação científica.
- São omitidos os zeros finais após a vírgula decimal (em vez de 6.300000 aparece só 6.3) . Quando não houver nada depois da vírgula, a vírgula (ponto) também é omitida (em vez de 6.000000 aparece só 6).