Come formattare i numeri reali nel Fortran

FORTRANPer formattare i numeri reali nel Fortran si utilizza il descrittore F che ci consente di controllare la rappresentazione dei numeri reali. La forma generale di tale descrittore è:

rFw.d

dove r,w e d assumono il seguente significato:

  • d = Numero di cifre da visualizzare a destra del punto decimale
  • r = Fattore di ripetizione: specifica il numero di volte che un descrittore deve essere utilizzato
  • w = Larghezza di campo: numero di caratteri da utilizzare

Per meglio comprendere il concetto appena esposto analizziamo allora il seguente esempio di istruzione di uscita formattata:

2F8.3

che indica di ripetere per due variabili il formato di numero reale con l’utilizzo di 8 caratteri di cui 3 a destra del punto.

Quando viene stampato un numero reale, la sua parte intera viene stampato come se si utilizzasse il descrittre Im-(d+1). Pertanto, se il numero di posizioni non è sufficiente per stampare completamente la parte intera, tutte le posizioni w saranno riempite con asterischi. Si noti che la parte intera contiene un segno e di conseguenza w deve essere maggiore o uguale a d + 2.
La parte frazionaria può avere più di d cifre. In questo caso, la (D+1)-esima cifra sarà arrotondata alla desima cifra.

Come formattare i numeri reali nel Fortran

Ad esempio, se il numero 1,73 è stampato con il formato F3.1 (usando cioè 3 posizioni per stampare un numero reale con la posizione più a destra utilizzata per la parte frazionaria), poiché la seconda cifra della parte frazionaria è 3, il risultato sarà 1.7 in quanto l’ultima cifra è arrotondata per difetto. Tuttavia, se si stampa il numero 1,76 con lo stesso formato F3.1, il risultato diventa 1.8 perché l’ultima cifra è arrotondata per eccesso.

La parte frazionaria può avere meno di d cifre. In questo caso, verranno aggiunti degli zeri finali.
Si noti che d può essere zero. In questo caso, nessuna parte frazionaria verrà stampata. Più precisamente, la posizione più a destra è il punto decimale.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Leave a Reply

Your email address will not be published. Required fields are marked *