Salve ragazzi..sono alle prese con un progetto universitario e per quanto stupido vi sembrerà il quesito, non riesco a risolverlo.
Ho un client che deve inviare al server un valore in double ma riesco solo a farlo arrivare troncato,cioè perdendo i decimale,nonostante le dovute conversioni..Per esempio se dal client parte 40.99 al server mi arriva 40.00 e quie decimali mi servono..Potete aiutarmi??Grazie
CLIENT
codice:
memset(buffer,0,BUFF_SIZE);
printf("inserire numero:\n");
scanf("\n%d",&codice);
snprintf(buffer, sizeof(buffer), "%lf\r\n",citta_cli[codice].lat); //citta_cli[codice].lat è contenuto in una struct ed è dichiarato double
if ( write(sockfd, buffer, sizeof(buffer)) <0)
{
perror("write error");
exit(-1);
}
SERVER
codice:
memset(buffer,0,BUFF_SIZE);
if (read(connfd, buffer,sizeof(buffer))<0)
{
perror("read error");
exit(-1);
}
printf("\nbufferINchar: %s \n",buffer);
a=atof(buffer);
printf("\nbufferINdoulbe: %lf \n",a);