kiedy zrobię 5.2 - 2.3 w ghci Zdobędę 2.9000000000000004 zamiast 2.9. Również takie brzydkie (i dla ludzi NIEPRAWIDŁOWE) wyniki pojawiają się w innych miejscach podczas pracy z Double lub Float.brzydkie duble - dlaczego 2.9000000000000004 zamiast 2.9?
Dlaczego tak się dzieje? (to jest tylko dla ciekawości, nie moje prawdziwe pytanie)
Moje prawdziwe pytanie: Jak powiedzieć ghci, aby tego nie robił i pokazać wyniki operacji na podwójnych tak, jak każdy inny język programowania (i kalkulator) i tak jak każdy 15-latek je zapisał?
Jest to bardzo denerwujące, gdy używam ghci jako miłego kalkulatora i pracuję na listach, na których wykonuję takie operacje.
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]
To po prostu nie pomóc podczas korzystania z numerów na kawałku papieru w późniejszym czasie
góry dziękuję :)
tak jak komentarz boczny, jest to prawdopodobnie najczęściej zadawane pytanie w historii wszech czasów. –