sql >> Databáze >  >> RDS >> SQLite

Jak mohu zapsat hodnoty SQLite Real do hodnot Java BigDecimal?

Nejsem si jistý, proč se pokoušíte odesílat a/nebo používat valueOf() operace... jednoduše vytvořte nový BigDecimal objekt. Má konstruktor, který převezme float, double, string atd.

d.set_cost(new BigDecimal(42.00));

:)

Můžete také změnit getString() operace getBigDecimal() .

Takže jako:

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

To obchází vytvoření dočasného (a zbytečného)String protože se zdá, že jste po získání BigDecimal nakonec stejně.

Jen si dejte pozor, pokud je hodnota vaše ResultSet returns nelze převést na BigDecimal jako by to byl řetězec "abcd", pak to vyvolá Exception , ale to je pravděpodobně žádoucí, protože pak máte co do činění se špatnými daty.




  1. Nejrychlejší způsob importu velkého souboru CSV do MySql pomocí MySql CLI

  2. Změna pole Enum pomocí Alembic

  3. Jak zjistit, který oddíl bude použit v Postgres hash partitioning?

  4. Automatické zvýšení na částečném primárním klíči s Entity Framework Core