SQLite
 sql >> Database >  >> RDS >> SQLite

Come posso scrivere SQLite Real vals su valori Java BigDecimal?

Non sono sicuro del motivo per cui stai provando a trasmettere e/o utilizzare valueOf() operazioni... crea semplicemente un nuovo BigDecimal oggetto. Ha un costruttore per prendere un float, double, string, ecc.

d.set_cost(new BigDecimal(42.00));

:)

Puoi anche cambiare il tuo getString() operazioni su getBigDecimal() .

Così come:

d.set_cost(cursor.getBigDecimal(6));

Questo aggira la creazione di una String temporanea (e non necessaria). poiché sembra che tu stia dopo aver ottenuto un BigDecimal alla fine comunque.

Basta essere consapevoli, se il valore è il tuo ResultSet i rendimenti non possono essere convertiti in un BigDecimal come se fosse una stringa "abcd", verrà generata un'Exception , ma questo è probabilmente desiderato poiché hai a che fare con dati errati.