View Full Version : [C]Stampare double senza decimali?
MissaW_RaZ_98
18-05-2012, 19:48
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.
:help:
Prova così (non sono sicuro che funzioni)
double n;
if(n == (int)n)
printf("%d",n);
else
printf("%f",n);
lorenzo001
19-05-2012, 10:11
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
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);
Hai ragione non ci avevo pensato!
MissaW_RaZ_98
19-05-2012, 15:50
ie ,vedo se funziona!
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.