Ragazzi ho un problema...
Ho definito la seguente funzione
e quando vado a fare la seguente stampacodice:double troncaF(double x,int decimali) { char temp[10]; switch (decimali){ case 0: { sprintf(temp,"%.0f",x); return atof(temp); };break; case 1:{ sprintf(temp,"%.1f",x); return atof(temp); };break; case 2:{ sprintf(temp,"%.2f",x); return atof(temp); };break; case 3:{ sprintf(temp,"%.3f",x); return atof(temp); };break; default:{ sprintf(temp,"%f",x); return atof(temp); }; } //free(temp); }
printf("PROVA = %f",troncaF(0.15,1));
mi aspetterei 0.2 ed invece visualizzo 0.1
invece se faccio
printf("PROVA = %f",troncaF(0.16,1));
visualizzo correttamente 0.2
come posso ovviare la problema???
Grazie a tutti

Rispondi quotando