Je ne sais pas pourquoi vous essayez de caster et/ou d'utiliser valueOf()
opérations... faites simplement un nouveau BigDecimal
objet. Il a un constructeur pour prendre un flottant, un double, une chaîne, etc.
d.set_cost(new BigDecimal(42.00));
:)
Vous pouvez également modifier votre getString()
opérations sur getBigDecimal()
.
Alors comme :
d.set_cost(cursor.getBigDecimal(6));
Cela évite de créer une String
temporaire (et inutile) puisque vous semblez l'être après avoir obtenu un BigDecimal
à la fin de toute façon.
Sachez simplement que si la valeur de votre ResultSet
les retours ne peuvent pas être convertis en un BigDecimal
comme si c'était une chaîne "abcd" alors il lancera une Exception
, mais cela est probablement souhaité puisque vous avez alors affaire à de mauvaises données.