Не съм сигурен защо се опитвате да предавате и/или използвате valueOf()
операции... просто направете нов BigDecimal
обект. Той има конструктор за вземане на float, double, низ и т.н.
d.set_cost(new BigDecimal(42.00));
:)
Можете също да промените своя getString()
операции към getBigDecimal()
.
Така че като:
d.set_cost(cursor.getBigDecimal(6));
Това заобикаля създаването на временен (и ненужен)String
тъй като изглежда след получаване на BigDecimal
в крайна сметка все пак.
Просто имайте предвид, ако стойността ви ResultSet
returns не може да се преобразува в BigDecimal
като че е низ "abcd", тогава той ще изведе Exception
, но това вероятно е желателно, тъй като тогава имате работа с лоши данни.