Salve a tutti, durante la progettazione del mio programma sono incappato in un evento non previsto. Una soluzione l'ho trovata, ma non riesco a capire come mai accada ciò che succede.
Ho un file di record, dove salvo dei dati da delle edit.
I dati del record sono di vari tipi: stringhe, interi, double. Il problema si verifica in fase di lettura. Mentre le stringhe e gli interi vengono letti con esattezza, i dati di tipo double vengono letti con numeri in eccesso e a caso(caso?) come se non fossero stati arrotondati.
Faccio un esempio:
Se scrivo ad esempio che l'altezza di una persona è 1.65, quando vado a leggere il record mi compare scritto 1.64999998989498.
Come mai succede questo? E' possibile evitarlo o sono costretto a salvare i dati come stringhe e riconvertirli successivamente?
Ps: Se ai dati di tipo double assegno un numero senza virgola vengono letti correttamente però.