ghciで5.2 - 2.3を実行すると2.9ではなく2.9000000000000004になります。 また、このような醜い(そして人間の誤った)結果は、DoubleまたはFloatを使って作業するときに他の場所にも現れます。醜い二倍 - なぜ2.9000000000000004の代わりに2.9?
どうしてですか?
私の本当の質問: ghciにはそうしないように指示し、他のプログラミング言語(および電卓)と同じように、Doublesでの演算結果を表示するにはどうすればよいですか?まさに15歳ごとに書いていますか?
ghciを素晴らしい電卓として使用し、そのような操作を実行するリストで作業するとき、これはちょっと面倒です。
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]
紙に先立って、その後
感謝を数字を使用する場合は、単に助けにはならない:)
これはサイドコメントと同じように、おそらくこれまでの歴史のなかで最もよく聞かれる質問です。 –