Thập phân là loại hợp lý nhất cho số tiền.
Thập phân là một điểm số cơ bản 10 kiểu số có 28 chữ số thập phân chính xác. Sử dụng thập phân, bạn sẽ có ít bất ngờ hơn bạn sẽ sử dụng cơ sở 2 loại đôi.
Sử dụng một nửa bộ nhớ nhiều như Decimal và Double sẽ nhanh hơn nhiều vì phần cứng CPU cho nhiều hoạt động điểm nổi phổ biến, nhưng nó không thể đại diện cho hầu hết 10 phân số cơ bản (như 1.05) chính xác và kém chính xác hơn 15 + số thập phân chính xác. Đôi không có lợi thế của nhiều hơn (nó có thể đại diện cho số lượng lớn hơn và nhỏ hơn) mà có thể có ích cho một số tính toán, đặc biệt là một số tính toán thống kê.
Một câu trả lời cho câu hỏi của bạn cho biết rằng Thập phân là điểm cố định với 4 chữ số thập phân. Đây không phải là trường hợp. Nếu bạn nghi ngờ điều này, nhận thấy rằng các dòng mã sau đây mang lại 0,0000000001:
Console.WriteLine("number={0}", 1m/10000000000m);
Có nói tất cả điều đó, nó là thú vị để lưu ý rằng phần mềm được sử dụng rộng rãi nhất trên thế giới để làm việc với một lượng tiền tệ, Microsoft Excel , sử dụng tăng gấp đôi. Tất nhiên, họ phải nhảy qua rất nhiều vòng để làm cho nó hoạt động tốt, và nó vẫn để lại một cái gì đó để được mong muốn. Hãy thử hai công thức trong Excel:
- = 1-0.9-0.1
- = (1-0.9-0.1)
Lợi suất đầu tiên 0, sản lượng thứ hai ~ -2.77e-17 . Excel thực sự xoa bóp các con số khi cộng và trừ số trong một số trường hợp, nhưng không phải trong mọi trường hợp.
Nguồn
2009-03-01 02:31:06
Tôi rất tò mò muốn biết lý do người nào đó bỏ phiếu này. –
Tôi đã bỏ phiếu chỉ để bù lại phiếu bầu xuống. Tôi không nghĩ rằng phiếu giảm giá nên được cho phép mà không có một bình luận. –