Terkadang, tipe data Activerecord membingungkan saya. Err, sering. Salah satu pertanyaan abadi saya adalah, untuk kasus tertentu,
Haruskah saya menggunakan
:decimalatau:float?
Saya sering menemukan tautan ini, ActiveRecord:: desimal vs: float? , tetapi jawabannya tidak cukup jelas bagi saya untuk memastikan:
Saya telah melihat banyak utas di mana orang merekomendasikan flat out untuk tidak pernah menggunakan float dan selalu menggunakan desimal. Saya juga melihat saran oleh beberapa orang untuk menggunakan float hanya untuk aplikasi ilmiah.
Berikut adalah beberapa contoh kasus:
- Geolocation / lintang / bujur:
-45.756688,120.5777777, ... - Rasio / persentase:
0.9,1.25,1.333,1.4143, ...
Saya telah menggunakan :decimaldi masa lalu, tetapi saya menemukan berurusan dengan BigDecimalbenda - benda di Ruby tidak perlu canggung dibandingkan dengan pelampung. Saya juga tahu saya bisa menggunakan :integeruntuk mewakili uang / sen, misalnya, tetapi tidak cukup cocok untuk kasus lain, misalnya ketika jumlah di mana presisi dapat berubah dari waktu ke waktu.
- Apa kelebihan / kekurangan menggunakan masing-masing?
- Apa aturan praktis yang baik untuk mengetahui tipe mana yang digunakan?