sql >> Database >  >> RDS >> SQLite

Hoe kan ik SQLite Real vals naar Java BigDecimal-waarden schrijven?

Ik weet niet zeker waarom je valueOf() probeert te casten en/of te gebruiken bewerkingen... maak gewoon een nieuwe BigDecimal voorwerp. Het heeft wel een constructor om een ​​float, double, string, enz. te nemen.

d.set_cost(new BigDecimal(42.00));

:)

U kunt ook uw getString() . wijzigen bewerkingen naar getBigDecimal() .

Dus zoals:

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

Dit omzeilt het maken van een tijdelijke (en onnodige)String aangezien het lijkt alsof je een BigDecimal . hebt gekregen uiteindelijk toch.

Houd er rekening mee dat als de waarde van uw ResultSet rendement kan niet worden omgezet in een BigDecimal alsof het een string "abcd" is, dan zal het een Exception . geven , maar dit is waarschijnlijk gewenst omdat je dan te maken hebt met slechte gegevens.




  1. MySQL 8 instellen vanuit Binary Tarball

  2. Postgres-gebruiker bestaat niet?

  3. Tabelindexen instellen in databases

  4. Hoe u Change Data Capture (CDC) op de hele tabel inschakelt OF CDC op tabel inschakelt met lijst met kolommen in SQL Server