Não sei por que você está tentando converter e/ou usar
valueOf()
operações... simplesmente crie um novo BigDecimal
objeto. Ele tem um construtor para usar float, double, string, etc. d.set_cost(new BigDecimal(42.00));
:)
Você também pode alterar seu
getString()
operações para getBigDecimal()
. Assim como:
d.set_cost(cursor.getBigDecimal(6));
Isso evita a criação de uma
String
temporária (e desnecessária) já que você parece estar depois de obter um BigDecimal
enfim. Apenas esteja ciente, se o valor do seu
ResultSet
retornos não podem ser convertidos em um BigDecimal
como se fosse uma string "abcd", ele lançará uma Exception
, mas isso provavelmente é desejado, pois você está lidando com dados incorretos.