|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
[C]Stampare double senza decimali?
Come faccio a stampare le decimali di un double SOLO quando ci sono?
Nel senso che non vorrei mi esca fuori,ad esempio,27.0000000. Preferisco solo 27.
|
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: May 2012
Messaggi: 4
|
Prova così (non sono sicuro che funzioni)
Codice:
double n;
if(n == (int)n)
printf("%d",n);
else
printf("%f",n);
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
No mx92 ... un double può assumere valori maggiori del massimo consentito per un int (a 32 bit) e quindi avresti dei malfunzionamenti.
Io suggerirei codice di questo tipo Codice:
double value, ipart, fpart;
int nd;
value = 27.0; // Il valore da visualizzare
fpart = modf(value, &ipart);
nd = (fpart != 0.0) ? 5 : 0;
printf ("Valore: %.*f \n", nd, value);
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: May 2012
Messaggi: 4
|
Hai ragione non ci avevo pensato!
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
|
ie ,vedo se funziona!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:35.



















