Saya tidak yakin mengapa Anda mencoba mentransmisi dan/atau menggunakan valueOf()
operasi... cukup buat BigDecimal
baru obyek. Itu memang memiliki konstruktor untuk mengambil float, double, string, dll.
d.set_cost(new BigDecimal(42.00));
:)
Anda juga dapat mengubah getString()
operasi ke getBigDecimal()
.
Jadi seperti:
d.set_cost(cursor.getBigDecimal(6));
Ini menyiasati pembuatanString
temporary sementara (dan tidak perlu) karena Anda tampaknya setelah mendapatkan BigDecimal
pada akhirnya.
Perlu diketahui, jika nilai Anda ResultSet
pengembalian tidak dapat dikonversi menjadi BigDecimal
seperti itu string "abcd" maka itu akan melempar Exception
, tetapi ini mungkin diinginkan karena Anda kemudian berurusan dengan data yang buruk.