【发布时间】:2019-03-14 18:30:06
【问题描述】:
我什至不知道从哪里开始。抱歉,如果这是重复的,但我什至不知道要搜索什么或这个特定问题被称为什么。
我的 RSpec 套件中的测试会随机失败,但并非经常如此,我会收到如下错误:
expected: 0.69
got: 0.69 (0.69e0)
(compared using ==)
RSpec 代码正在比较来自两个不同模型的两个浮点数,当规范完成时它们应该是相同的值。有没有办法在命令控制台中重现这个?我已经尝试了明显的东西(如下),但老实说我不知所措。如果我重新运行测试十几次,我将无法重现该问题。
0.69 == 0.69e0 => true
0.69 == 0.69 => true
6.9e-1 == 0.69 => true
【问题讨论】:
-
我不知道如何重现它,但你总是在测试中使用
.round。 -
比较浮点数很难:( stackoverflow.com/questions/6855944/…
-
@maxpleaner - 这些测试确实使用
.round;(