0

돈을 처리하는 Android 앱이 있습니다. BigDecimal이 돈을 처리하기에 가장 좋았고 다른 통화의 문자열 표현을 처리하는 데 어려움을 겪고 있었기 때문에 float에서 BigDecimal로 전환했습니다. 그러나, 나는 문제가 생겼다. 내 BigDecimal을 SQL 테이블에 STRING으로 저장하면 SUM()을 실행할 수 없습니다! 항목을 커서로 가져 와서 프로그래밍 방식으로 합계를 계산할 수 있지만 더 좋은 방법은 무엇입니까?BigDecimal 또는 SQL 집계 함수?

편집 : NUMBER 유형으로 전환했지만 지금은 SUM() 함수가 나에게 부동 소수점을 제공하는 문제에 직면하고 있으며이를 BigDecimal로 변환하면 끝에 여분의 쓰레기가 늘어납니다.

답변

1

나는 그것을 해결했다고 생각한다. SQLite의 TOTAL() 집계 함수를 사용하여 float로 표시된 합계를 얻은 다음 Float.toString()을 사용하고이를 새로운 BigDecimal로 던졌습니다.

BigDecimal total = new BigDecimal(Float.toString(cur.getFloat(0)));