SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como posso escrever vals SQLite Real para valores Java BigDecimal?


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.