|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Mar 2008
Messaggi: 12
|
[C++] Formato output: allineare virgola
ciao, mi sto chiedendo questo:
Nel mio file di output ho una serie di numeri con virgola. Ho utilizzato setprecision con fixed e showpoint per fissare il numero delle cifre dopo la virgola e scrivere gli zeri anche finali, pero' nel caso in cui prima della virgola ho un segno - o un numero diverso di cifre si perde l'allineamento della colonna dei dati. Ho usato outputfile << variabile1 << variabile2 ecc. C'e' una formula per allineare il decimal point o devo usare per forza fprintf? ![]() |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Mar 2008
Messaggi: 12
|
nessuno sa darmi una mano?
![]() |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Metti il + davanti ai numeri positivi: Codice:
string s; if(n > 0) { ostringstream oss; oss << "+" << fixed << setprecision(5) << showpoint; oss << n; cout << oss.str(); } else { stampi il numero normalmente. } |
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Mar 2008
Messaggi: 12
|
Questo l'avevo gia' provato, ma mi resta il problema di quando prima della virgola c'e' un numero diverso di cifre, es.
+100.qualcosa -99.qualcosa ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma questo lo risolvi con:
cout << setw(10) << right |
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Mar 2008
Messaggi: 12
|
Risolto! cosi' facendo, una volta fissate le cifre dopo la virgola, non c'e' neanche bisogno di mostrare il segno +! grazie mille
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:33.