khi tôi thực hiện 5.2 - 2.3 trong ghci, tôi sẽ nhận được 2.9000000000000004 thay vì 2.9. Cũng như vậy xấu xí (và cho một WRONG con người) kết quả cho thấy lên trên những nơi khác khi làm việc với đôi hoặc nổi.đôi khi xấu xí - tại sao lại là 2.9000000000000004 thay vì 2.9?
Tại sao điều này lại xảy ra? (điều này chỉ dành cho sự tò mò, không phải câu hỏi thực sự của tôi)
Câu hỏi thực sự của tôi: Làm cách nào để nói với Ghci không làm điều đó và hiển thị kết quả Hoạt động tăng gấp đôi cũng như bất kỳ ngôn ngữ lập trình nào khác (và máy tính) và cứ 15 tuổi thì sẽ viết chúng?
Điều này thật khó chịu khi tôi sử dụng ghci như một máy tính tốt và làm việc trên các danh sách mà tôi thực hiện các thao tác đó.
map ((-)2.3) [4.0, 3.8, 5.2, 6.4, 1.3, 8.3, 13.7, 9.0, 7.5, 2.4]
[-1.7000000000000002,-1.5,-2.9000000000000004,-4.1000000000000005,0.9999999999999998,-6.000000000000001,-11.399999999999999,-6.7,-5.2,-0.10000000000000009]
này chỉ không giúp khi sử dụng các con số trên một mảnh giấy sau đó
Cảm ơn trước :)
giống như một bình luận phụ, đây có lẽ là câu hỏi thường được hỏi nhất trong lịch sử bao giờ hết. –