Originariamente inviato da gbattine
Salve ragazzi,
ho un grosso problema con una mia applicazione java.
Convertendo un'array di double in byte perdo l'informazione data dalle cifre decimali.
La mia funzione getBytes non fa altro che convertire prima un array di stringhe,poi un array di double e infine due caratteri speciali(spazio bianco e rispettivamente in bytes.
Infine li memorizza in un vector perchè la sua dimensione è variabile.
Il problema è appunto la conversione dei double in byte perchè ho scoperto tardi(mio malgrado) che convertire un double in un byte col comando

codice:
temp.addElement(Byte.valueOf(val[e].byteValue()));
dove temp è il vettore e val[e] è il generico elemento double del vettore mi comporta che viene codificata solo la parte intera del numero.
Come posso risolvere questo problema?
Ho visto la classe DataOutputStream...è quella la soluzione?
Qualcuno può postarmi delle linee di codice di esempio?
Grazie...
Allora ... facendo Byte.valueOf in pratica ottieni un oggetto Byte ed è poi questo oggetto che inserisci nella collezione. Tra l'altro val[e] è un Double, non il tipo primitivo double. Così però non ha molto senso (come dici anche tu), perché perdi comunque delle informazioni sul valore!

Quello che non è chiaro (spiegati meglio magari) è come vuoi memorizzare questo valore double. Un double è composto da 8 byte. Vuoi memorizzare questi 8 byte all'interno di un singolo elemento del vettore?? O vuoi inserire nel vettore 8 elementi con i singoli byte del double???