Câu hỏi thú vị.
Tôi sẽ không thực sự chọn float trong môi trường mysql. Quá nhiều vấn đề trong quá khứ về độ chính xác với kiểu dữ liệu đó.
Đối với tôi, sự lựa chọn sẽ là giữa int
và decimal(18,4)
.
Tôi đã xem các ví dụ trong thế giới thực số nguyên được sử dụng để biểu diễn các giá trị dấu phẩy động. Tất cả các bên trong của JD Edwards dữ liệu đều làm được điều này. Các đại lượng thường được chia cho 10000. Mặc dù tôi chắc chắn rằng nó nhanh hơn và nhỏ hơn trong bảng, nhưng điều đó chỉ có nghĩa là chúng ta luôn phải ĐÚC các số nguyên thành giá trị thập phân nếu chúng ta muốn làm bất cứ điều gì với chúng, đặc biệt là phép chia.
Từ góc độ lập trình, tôi luôn muốn làm việc với decimal
để biết giá (hoặc money
trong các RDBMS hỗ trợ nó).