Tôi không chắc tại sao bạn lại cố truyền và / hoặc sử dụng valueOf()
hoạt động ... chỉ cần tạo một BigDecimal
mới vật. Nó có một hàm tạo để lấy một float, double, string, v.v.
d.set_cost(new BigDecimal(42.00));
:)
Bạn cũng có thể thay đổi getString()
của mình opertaions thành getBigDecimal()
.
Như vậy:
d.set_cost(cursor.getBigDecimal(6));
Điều này xoay quanh việc tạo một chuỗi String
tạm thời (và không cần thiết) vì bạn dường như sau khi nhận được BigDecimal
cuối cùng.
Chỉ cần lưu ý, nếu giá trị ResultSet
của bạn lợi nhuận không thể chuyển đổi thành BigDecimal
giống như một chuỗi "abcd" thì nó sẽ ném ra một Exception
, nhưng điều này có thể được mong muốn vì khi đó bạn đang xử lý dữ liệu xấu.