sql >> Base de Datos >  >> RDS >> SQLite

¿Cómo puedo escribir SQLite Real vals en valores Java BigDecimal?

No estoy seguro de por qué estás intentando lanzar y/o usar valueOf() operaciones... simplemente haga un nuevo BigDecimal objeto. Tiene un constructor para tomar un flotante, doble, cadena, etc.

d.set_cost(new BigDecimal(42.00));

:)

También puede cambiar su getString() operaciones a getBigDecimal() .

Entonces como:

d.set_cost(cursor.getBigDecimal(6));

Esto soluciona la creación de un String temporal (e innecesario) ya que pareces estar después de obtener un BigDecimal al final de todos modos.

Solo tenga en cuenta que si el valor de su ResultSet las devoluciones no se pueden convertir en un BigDecimal como si fuera una cadena "abcd", arrojará una Exception , pero esto probablemente sea lo deseado ya que entonces se trata de datos incorrectos.