Nejsem si jistý, proč se pokoušíte odesílat a/nebo používat valueOf()
operace... jednoduše vytvořte nový BigDecimal
objekt. Má konstruktor, který převezme float, double, string atd.
d.set_cost(new BigDecimal(42.00));
:)
Můžete také změnit getString()
operace getBigDecimal()
.
Takže jako:
d.set_cost(cursor.getBigDecimal(6));
To obchází vytvoření dočasného (a zbytečného)String
protože se zdá, že jste po získání BigDecimal
nakonec stejně.
Jen si dejte pozor, pokud je hodnota vaše ResultSet
returns nelze převést na BigDecimal
jako by to byl řetězec "abcd", pak to vyvolá Exception
, ale to je pravděpodobně žádoucí, protože pak máte co do činění se špatnými daty.