Menyimpan harga dalam SQLite, tipe data apa yang digunakan?

15

Saya menggunakan SQLite dan perlu menyimpan harga. SQLite REALData-jenis mengatakan menggunakan floating-pointyang dapat diterima penyimpanan untuk harga. Apakah ada tipe data selain TEXT yang dapat saya gunakan untuk menyimpan harga secara numerik sehingga mereka mengurutkan dengan benar?

unixman83
sumber

Jawaban:

25

Gunakan bilangan bulat & simpan harga sebagai unit umum terendah. Jadi, untuk dolar dan sen Anda akan menyimpannya dalam sen. EG: $ 1,00 akan disimpan sebagai 100.

Dalam pengalaman saya itu adalah praktik standar.

Philᵀᴹ
sumber
3
Ini adalah pekerjaan ekstra tetapi ini adalah cara untuk pergi - Anda juga perlu bidang jenis mata uang untuk menyimpan dengan nilai sehingga Anda tahu cara mengonversi kembali. Anda perlu memperhatikan juga - sebagian besar mata uang menggunakan 2 tempat desimal, tetapi beberapa menggunakan tiga. Lihat ISO 4127 untuk daftar lengkap.
lonstar
CLF Chili Unidad de Fomento menggunakan 4 tempat desimal. Bitcoin bahkan lebih :-)
Gianluca Ghettini
4

Tentunya, gunakan integer

Anda harus memutuskan berapa banyak tempat desimal yang Anda asumsikan dan konsisten pada level aplikasi.

Jack mengatakan coba topanswers.xyz
sumber