在JUnit中对float和double值使用assertTrue可以吗?
我尝试在浮点上使用assertEquals方法,eclipse表示该方法已贬值。因此,以下替代方案是否可以接受在JUnit中对float和double值使用assertTrue可以吗?,junit,decimal,assert,Junit,Decimal,Assert,我尝试在浮点上使用assertEquals方法,eclipse表示该方法已贬值。因此,以下替代方案是否可以接受 Assert.assertTrue("Total does not match expected total :", receipt.getTotal() == 32.19f); 为什么在测试中不能使用assertEquals来比较两个浮点数或两个浮点数 一般来说,在JUnit中断言两个十进制值相
Assert.assertTrue("Total does not match expected total :",
receipt.getTotal() == 32.19f);
为什么在测试中不能使用assertEquals来比较两个浮点数或两个浮点数
一般来说,在JUnit中断言两个十进制值相等的最佳方法是什么。我使用的是JUnit的4.10版本。一般来说,您可以将原语类型与==进行比较,但对于浮点值,两个值在格式化为字符串时看起来相同,但可以是两个不同的值。你应该使用。看看答案
由于double和float计算不一定精确,因此可以使用delta有效地比较误差幅度。一般来说,可以将基元类型与==,但对于浮点值,两个值在格式化为字符串时看起来相同,但是两个不同的值。你应该使用。看看答案 因为双精度和浮点计算不一定精确,所以可以使用delta有效地比较误差范围