首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP和带有小数的单元测试断言

PHP和带有小数的单元测试断言
EN

Stack Overflow用户
提问于 2009-12-26 18:30:39
回答 5查看 9.8K关注 0票数 34

我有一个返回浮点数的方法,比如1.234567890。我想测试一下它是否真的能这样做。但是,似乎这个返回的浮点数在不同的平台上具有不同的精度,所以我如何断言返回值为1.23456789?如果我这样做的话:

代码语言:javascript
复制
$this->assertEqual(1.23456789, $float);

然后,在一些精度不够的平台上,这可能会失败。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-12-26 18:32:44

为了获得更高的准确性,您可以考虑使用BCMath

票数 3
EN

Stack Overflow用户

发布于 2013-01-18 22:03:54

到目前为止,还没有提到assertEquals支持通过offering a delta to specifiy precision比较浮点数

代码语言:javascript
复制
$this->assertEquals(1.23456789, $float, '', 0.0001);

感谢@Antoine87 for pointing outsince phpunit 7.5,你应该使用assertEqualsWithDelta()

代码语言:javascript
复制
$this->assertEqualsWithDelta(1.23456789, $float, 0.0001);
票数 74
EN

Stack Overflow用户

发布于 2019-04-17 23:04:50

作为@bernhard-wagner answer的更新,您现在应该使用assertEqualsWithDelta() since phpunit 7.5

代码语言:javascript
复制
$this->assertEqualsWithDelta(1.23456789, $float, 0.0001);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1963077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档