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.