Nie jestem pewien, dlaczego próbujesz przesyłać i/lub używać valueOf()
operacje... po prostu utwórz nowy BigDecimal
obiekt. Ma konstruktor do wzięcia liczby zmiennoprzecinkowej, podwójnej, łańcucha itp.
d.set_cost(new BigDecimal(42.00));
:)
Możesz także zmienić swoją getString()
operacje na getBigDecimal()
.
Na przykład:
d.set_cost(cursor.getBigDecimal(6));
Pozwala to obejść tworzenie tymczasowego (i niepotrzebnego)String
ponieważ wydaje się, że jesteś po otrzymaniu BigDecimal
w końcu i tak.
Tylko pamiętaj, jeśli wartość ResultSet
zwraca nie może zostać przekonwertowana na BigDecimal
jakby to był ciąg znaków "abcd", wtedy zgłosi Exception
, ale jest to prawdopodobnie pożądane, ponieważ masz wtedy do czynienia ze złymi danymi.