我有一个关于JUnitassertEquals以测试double值的问题。阅读APIdoc我可以看到:@DeprecatedpublicstaticvoidassertEquals(doubleexpected,doubleactual)Deprecated.UseassertEquals(doubleexpected,doubleactual,doubledelta)instead.(注意:在旧的文档版本中,delta参数称为epsilon)delta(或epsilon)参数是什么意思? 最佳答案 Epsilon是2个数字可以偏离
今天,我翻阅了一些C++代码(由其他人编写),发现了这个部分:doublesomeValue=...if(someValue::epsilon()&&someValue>-std::numeric_limits::epsilon()){someValue=0.0;}我正在尝试弄清楚这是否有意义。epsilon()的文档说:Thefunctionreturnsthedifferencebetween1andthesmallestvaluegreaterthan1thatisrepresentable[byadouble].这是否也适用于0,即epsilon()是大于0的最小值?或者0和0
今天,我翻阅了一些C++代码(由其他人编写),发现了这个部分:doublesomeValue=...if(someValue::epsilon()&&someValue>-std::numeric_limits::epsilon()){someValue=0.0;}我正在尝试弄清楚这是否有意义。epsilon()的文档说:Thefunctionreturnsthedifferencebetween1andthesmallestvaluegreaterthan1thatisrepresentable[byadouble].这是否也适用于0,即epsilon()是大于0的最小值?或者0和0