Successivo: Printf, Precedente: Separatori di output, Su: Stampare [Contenuti][Indice]
printQuando si stampano valori numerici con l’istruzione print,
awk converte internamente ogni numero in una stringa di caratteri
e stampa quella stringa. awk usa la funzione sprintf()
per effettuare questa conversione
(vedi la sezione Funzioni di manipolazione di stringhe).
Per ora, basta dire che la funzione sprintf()
accetta una specifica di formato che indica come formattare
i numeri (o le stringhe), e che ci sono svariati modi per formattare i
numeri. Le differenti specifiche di formato sono trattate più
esaurientemente
in
Lettere di controllo del formato.
La variabile predefinita OFMT contiene la specifica di formato
che print usa con sprintf() per convertire un numero in
una stringa per poterla stampare.
Il valore di default di OFMT è "%.6g".
Il modo in cui print stampa i numeri si può cambiare
fornendo una specifica di formato differente
per il valore di OFMT, come mostrato nell’esempio seguente:
$ awk 'BEGIN {
> OFMT = "%.0f" # Stampa numeri come interi (arrotonda)
> print 17.23, 17.54 }'
-| 17 18
Per lo standard POSIX, il comportamento di awk è indefinito
se OFMT contiene qualcosa di diverso da una specifica di conversione
di un numero in virgola mobile.
(a.b.)