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

Hvordan kan jeg skrive SQLite Real-værdier til Java BigDecimal-værdier?

Jeg er ikke sikker på, hvorfor du prøver at caste og/eller bruge valueOf() operationer... lav blot en ny BigDecimal objekt. Den har en konstruktør til at tage en float, double, streng osv.

d.set_cost(new BigDecimal(42.00));

:)

Du kan også ændre din getString() operationer til getBigDecimal() .

Så gerne:

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

Dette undgår at skabe en midlertidig (og unødvendig)String da du ser ud til at være efter at have fået en BigDecimal i sidste ende i hvert fald.

Bare vær opmærksom på, hvis værdien dit ResultSet returnerer kan ikke konverteres til en BigDecimal ligesom det er en streng "abcd", så vil den kaste en Exception , men dette er sandsynligvis ønsket, da du så har med dårlige data at gøre.




  1. Sådan holder du styr på, hvad brugerne gør

  2. Hvad er Greenplum Database? Introduktion til Big Data-databasen

  3. Oracle-dato mellem forespørgsel

  4. Arbejde med triggere i en MySQL-database - en vejledning