BigDecimal или SQL агрегатни функции?

Имам приложение за Android, в което боравя с пари. Чух, че BigDecimal е най-добрият за боравене с пари и имах проблеми с представянето на низове на различни валути, така че преминах от float към BigDecimal. Обаче се натъкнах на проблем. Ако съхраня моите BigDecimal в моята SQL таблица като STRING, не мога да изпълня SUM() върху тях! Бих могъл да извадя записите в курсора и да ги сумирам програмно, но има ли по-добър начин да направя това?

РЕДАКТИРАНЕ: Превключих на тип NUMBER, но сега се натъквам на проблем, при който функцията SUM() ми дава float и когато преобразувам това в BigDecimal, получавам допълнителен боклук, разширен в края.


person GameKyuubi    schedule 05.07.2013    source източник


Отговори (1)


Мисля, че го реших. Използвах агрегатната функция TOTAL() на SQLite, за да получа сумата, представена като плаваща единица, след това използвах Float.toString() и след това хвърлих това в нов BigDecimal.

BigDecimal total = new BigDecimal(Float.toString(cur.getFloat(0)));
person GameKyuubi    schedule 05.07.2013