Tùy thuộc vào ứng dụng. Tất cả các tính toán với số thập phân sẽ là số yêu cầu làm tròn khi bạn xuất chúng dưới dạng đô la và xu (hoặc bất kỳ số tiền nội tệ là ): giá cơ sở của một bài viết chỉ có thể có hai số sau chữ số thập phân, nhưng khi bạn thêm thuế bán hàng hoặc VAT, có sẽ nhiều hơn và nếu bạn cần tính lãi cho khoản đầu tư, sẽ có nhiều hơn.
Nói chung, sử dụng double
kết quả trong các kết quả chính xác nhất, tuy nhiên ... nếu phần mềm của bạn đang được sử dụng cho một số loại kế toán theo yêu cầu của pháp luật (ví dụ như cho mục đích tính thuế), bạn có thể phải làm theo tiêu chuẩn thực hành làm tròn được chấp nhận và chúng được dựa trên số thập phân số học, không phải nhị phân, thập lục phân hoặc bát phân (là các cơ sở thông thường cho dấu phẩy động — nhị phân là phổ quát trên mọi thứ trừ khung chính). Trong những trường hợp như vậy, bạn sẽ cần phải sử dụng một số loại lớp học Decimal
, đảm bảo làm tròn chính xác. Đối với các mục đích sử dụng khác (ví dụ: rủi ro phân tích), double
là tốt.
Nguồn
2012-06-18 17:30:06
kiểm tra http://stackoverflow.com/questions/149033/best-way-to-store-currency-values-in-c –
Cảm ơn rất nhiều thông tin trên trang đó! –
Xem thêm http://introcs.cs.princeton.edu/java/91float/, mô tả chi tiết vấn đề này cho sinh viên CS. – jvriesem