Tôi đang cố lưu trữ các giá trị tiền tệ trong cơ sở dữ liệu sqlite trong android. Tôi không nghĩ rằng để int
sẽ được sử dụng ở đây. Tôi đã nghe nói rằng Bigdecimal
có thể được sử dụng. Nếu bất cứ ai có thể cho tôi biết cách nó nên được sử dụng để gửi các giá trị cho cơ sở dữ liệu sqlite.Lưu trữ tiền tệ trong cơ sở dữ liệu Android SQlite
7
A
Trả lời
11
Lưu BigDecimal làm chuỗi.
Bạn có thể sử dụng phương thức toPlainString().
BigDecimal b = new BigDecimal();
String s = b.toPlainString();
Sau đó, khi bạn kéo từ cơ sở dữ liệu, bạn có thể tạo BigDecimal mới.
BigDecimal c = new BigDecimal(String s)
Tin hay không SQLite 3.0 lưu trữ tất cả các loại dữ liệu dưới dạng chuỗi ngay cả khi bạn nói nó là số nguyên. Hãy xem this web page from the official SQLite website và cuộn xuống phần "Kiểu đánh máy và hỗ trợ BLOB". Nó nói về cách nó sẽ cho phép bạn lưu trữ các chuỗi trong các cột khác.
0
Chỉ cần sử dụng Int tại đây. Vì SQlite sử dụng 8 byte cho int, giá trị tối đa là 2^64, là 1.8446744e + 19 - 1, nhiều hơn hoặc ít hơn 10^18, đủ lớn cho tiền tệ.
Đồng thời chúng tôi
Các vấn đề liên quan
- 1. Android - Đâu là cơ sở dữ liệu SQLite lưu trữ
- 2. Android - Lưu trữ dữ liệu nhạy cảm trong cơ sở dữ liệu sqlite
- 3. Chèn mảng trong cơ sở dữ liệu SQLite trong android
- 4. Trình giả lập Android lưu trữ cơ sở dữ liệu SQLite ở đâu?
- 5. Cách lưu hình ảnh trong cơ sở dữ liệu SQLite
- 6. Cách lưu trữ đối tượng trong cơ sở dữ liệu sqlite?
- 7. Cách dễ dàng để lưu trữ siêu dữ liệu về Cơ sở dữ liệu SQLite
- 8. Lưu trữ các giá trị tiền tệ trong SQLite3
- 9. Làm thế nào để lưu trữ dữ liệu từ cơ sở dữ liệu edittext đến android sqlite?
- 10. onUpgrade() cơ sở dữ liệu sqlite trong Android
- 11. Tạo bảng trong cơ sở dữ liệu sqlite trên android
- 12. Lưu trữ thông tin OpenID trong cơ sở dữ liệu
- 13. lưu trữ giá trị lâu dài trong cơ sở dữ liệu Android
- 14. Cách tối ưu để lưu trữ giá trị datetime trong cơ sở dữ liệu SQLite (Delphi)
- 15. Cách lưu trữ đối tượng JSON trong cơ sở dữ liệu SQLite
- 16. cơ sở dữ liệu Android SQLite bị hỏng
- 17. Hadoop là cơ sở dữ liệu lưu trữ tài liệu
- 18. Làm thế nào để lưu trữ Euro Symbol trong cơ sở dữ liệu mysql?
- 19. Tomcat: Lưu trữ phiên trong cơ sở dữ liệu
- 20. Lưu trữ ASP.Net MVC Views trong cơ sở dữ liệu
- 21. Lưu trữ IPv6 trong cơ sở dữ liệu
- 22. Lưu trữ hình ảnh trong cơ sở dữ liệu MongoDB
- 23. Python, lưu trữ một dict trong cơ sở dữ liệu
- 24. Lưu trữ thông tin EXIF trong Cơ sở dữ liệu
- 25. cách lưu trữ mật khẩu trong cơ sở dữ liệu?
- 26. Lưu trữ Enums trong Cơ sở dữ liệu MySQL
- 27. Lưu trữ ngày giờ UTC trong cơ sở dữ liệu
- 28. Lưu trữ JSON trong cơ sở dữ liệu msSQL?
- 29. Lưu trữ Chứng chỉ X509 trong cơ sở dữ liệu
- 30. Lưu trữ kích thước tệp trong cơ sở dữ liệu
Tôi không tin bạn: SQLite 3.0 lưu trữ số nguyên làm số nguyên. Đó là phiên bản 2.8 cũ đã lưu trữ mọi thứ dưới dạng chuỗi. – Jeff
Đó là sai. Đi đến trang web (Tôi vừa sửa liên kết) và tìm kiếm: Sự khác biệt là SQLite 3.0 sẽ vẫn lưu trữ dữ liệu ngay cả khi không thể chuyển đổi định dạng. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Bạn cũng nên bao gồm câu trước đó từ trang đó: "Khi dữ liệu được chèn vào cột, cột đó sẽ thực hiện một nỗ lực để chuyển đổi định dạng dữ liệu thành loại được khai báo của cột". Khi bạn khai báo một cột là Integer và lưu chuỗi '12345' vào nó, SQLite sẽ chuyển đổi chuỗi đó thành số nguyên và lưu nó thành số nguyên. – Jeff