she*_*rry 6 floating-point assert smalltalk visualworks
我很难过.这是我的测试用例.
theTestArray := #(1.2 3 5.1 7).
self assert: theTestArray squareOfAllElements = #(1.44 9 26.01 49).
Run Code Online (Sandbox Code Playgroud)
断言不应该失败.在计算每个元素的平方是正确的.所以我做了"步入测试",表明方法squareOfAllElements和#(1.44 9 26.01 49)的结果都是相同的但是assert的计算结果为false.为什么?我在这做错了什么?任何帮助表示赞赏.
你在这里处理浮点数.根据定义浮点数是不精确的,你不应该使用#=来比较它们.
有关详细信息,请查看Pharo浮点数章节草案的第1.1节,例如:http://stephane.ducasse.free.fr/Web/Draft/Float.pdf
| 归档时间: |
|
| 查看次数: |
520 次 |
| 最近记录: |