php7采坑记:浮点型数据比较
admin
2023-06-17 06:42:10
0

    今天在项目中遇到一个奇怪的问题,经过计算后的double类型的变量的值相等的两个变量进行比较,结果却是不相等。



得到结果如下图,明明两个变量的值是一样的,做'=='比较运算却返回false

php7采坑记:浮点型数据比较




原因是php7中的浮点数 经过 /,*,round()等一系列运算后,精度发生了变化。


解决方案:将任意精度的变量作为字符串进行比较。


php7中已经提供较好的解决方案.

(PHP 4, PHP 5, PHP 7)
bccomp — 比较两个任意精度的数字
说明
int bccomp( string $left_operand, string $right_operand[, int $scale = int
  ] )
把right_operand和left_operand作比较, 并且返回一个整数的结果.



最终使用bccomp()来进行比较解决问题

if(bccomp((string)$b,(string)$d,2) === 0){

    echo "yes \n";
}else{
    echo "no \n";
}



相关内容

热门资讯

台官员称岛内高铁延误事故“不排... 【环球网报道】据中时新闻网等台媒5月27日报道,台湾高铁25日因苗栗路段信号异常,导致轨道定位功能消...
国家统计局:1~4月全国规模以... 【大河财立方消息】5月27日,国家统计局发布的数据显示,1—4月份,全国规模以上工业企业实现利润总额...
《给阿嬷的情书》火出圈 在“潮... 电影《给阿嬷的情书》剧照。潮汕宗祠龙形屋檐构件。 河南日报全媒体记者 王佳卉 摄近日,电影《给阿嬷的...
为孤困儿童插上“隐形的翅膀” 在新密市牛店镇参加营会活动的一部分孩子,行走在乡间的田垄上。登山、徒步,跟村民打招呼、拨弄路边的花草...
收麦的时候 想家的时候——“蹲... 豫东平原,麦浪翻涌。5月23日一早,李创业坐上了回老家河南商丘的高铁,看到窗外一望无际的麦田,他说“...
搭好家门口的“就业桥” 5月26日清晨,位于武陟县黄河大道与文化路交叉口的零工市场已是人头攒动,门头的LED大屏滚动播放着最...
烟火气息+中原底蕴 豫篮联赛“... 豫篮联赛吉祥物以东汉瑞兽石辟邪为设计原型。 赛事组委会供图赛场外非遗市集上的面塑。小演员演唱《穆桂英...
豫北小城何以“圈粉”国际大咖 当科幻片中的“意念控物”照进现实,大脑信号便可精准操控康复设备,助力残障患者重启运动能力——前沿的脑...
我国地理信息产业加快打造“空间... 新华社北京5月26日电随着人工智能与地理信息技术深度融合,我国地理信息产业加快打造“空间智能体”,不...