SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Wie kann ich SQLite Real-Werte in Java BigDecimal-Werte schreiben?

Ich bin mir nicht sicher, warum Sie versuchen, valueOf() umzuwandeln und/oder zu verwenden Operationen... machen Sie einfach ein neues BigDecimal Objekt. Es hat einen Konstruktor, um Float, Double, String usw. zu nehmen.

d.set_cost(new BigDecimal(42.00));

:)

Sie könnten auch Ihren getString() ändern Operationen zu getBigDecimal() .

Also wie:

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

Dies umgeht das Erstellen eines temporären (und unnötigen)String da Sie anscheinend nach dem Erhalten eines BigDecimal sind am Ende sowieso.

Beachten Sie nur, wenn der Wert Ihr ResultSet return kann nicht in ein BigDecimal konvertiert werden als wäre es ein String "abcd", dann wird es eine Exception werfen , aber das ist wahrscheinlich gewollt, da man es dann mit schlechten Daten zu tun hat.