Điều này xảy ra ở nhiều ngôn ngữ và bắt nguồn từ thực tế là chúng tôi không thể thường lưu trữ đôi hoặc nổi chính xác trong phần cứng kỹ thuật số. Để có giải thích chi tiết về cách tăng gấp đôi, nổi và tất cả các giá trị dấu phẩy động khác thường được lưu trữ, hãy xem các thông số kỹ thuật IEEE khác nhau được mô tả trên wikipedia. Ví dụ: http://en.wikipedia.org/wiki/Double_precision
Tất nhiên có các định dạng khác, chẳng hạn như định dạng điểm cố định. Nhưng sự thiếu chính xác này ở hầu hết các ngôn ngữ và tại sao bạn thường cần sử dụng các bài kiểm tra epsilon thay vì kiểm tra bình đẳng khi sử dụng gấp đôi trong điều kiện (ví dụ: abs (x - y) < = 0,0001 thay vì x == y).
Cách bạn đối phó với sự thiếu chính xác này tùy thuộc vào bạn và tùy thuộc vào đơn đăng ký của bạn.
Bạn sử dụng những cặp đôi này để làm gì? Nếu cho các giá trị tiền tệ ví dụ Bạn phải sử dụng loại khác. –
Vâng, đó là tiền. – Alistair
Trong trường hợp đó, hãy nghe Michael. Đôi sẽ cắn bạn. –