fprintf e quello che non ti aspetti (formattazione con fprintf)

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
cescoxonta
Prode Principiante
Messaggi: 96
Iscrizione: lunedì 5 marzo 2007, 15:52

fprintf e quello che non ti aspetti (formattazione con fprintf)

Messaggio da cescoxonta »

Salve, ho necessità di avere un formato ben specifico in un file di output.
In particolare mi servirebbe incolonnare dei numeri decimali dopo uno spazio di sei caratteri e quello che voglio che esca sia così:

  14.125  ...
123.654  ...
-12.457 ...
-157.678 ...

in pratica (forse non si capisce benissimo) vorrei avere 3 cifre prima della virgola, 3 dopo e che i segni "-"vengano trattati come una cifra pre virgola, in modo che tutti i punti siano incollonati.

Non riesco a sistemare bene i meno, e quello che mi succede è che quando ho numeri negativi il punto viene incollonato nello spazio successivo.
sapreste dirmi come si fa?
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: fprintf e quello che non ti aspetti (formattazione con fprintf)

Messaggio da difesaparcosempione »

Anzichè stampare il numero normale ( positivo e negativo ) ..
Potresti fare l'incolonnamento 3.3 dei valori assoluti e stampare un carattere + o - davanti.

:)
cescoxonta
Prode Principiante
Messaggi: 96
Iscrizione: lunedì 5 marzo 2007, 15:52

Re: fprintf e quello che non ti aspetti (formattazione con fprintf)

Messaggio da cescoxonta »

difesaparcosempione ha scritto: Anzichè stampare il numero normale ( positivo e negativo ) ..
Potresti fare l'incolonnamento 3.3 dei valori assoluti e stampare un carattere + o - davanti.

:)

preferirei evitare questa soluzione. speravo ci fosse un modo semplice per fare sta cosa (cmq il + non lo devo stampare)
cescoxonta
Prode Principiante
Messaggi: 96
Iscrizione: lunedì 5 marzo 2007, 15:52

Re: fprintf e quello che non ti aspetti (formattazione con fprintf)

Messaggio da cescoxonta »

trovato: basta scrivere
fprintf("  %7.3f",variabile) e fa esattamente quello che chiedevo!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti