两个数比对,值相同 ,对比不相等

每天进步一点点e 2018-02-01 03:48:18
项目中遇到一个问题
打印日志 出来2个数是一样 ,打印出的数字经过处理 ,打印前和打印后都经过了处理 比如a=floatval($a)=50 b=floatval($b)=50
看起来2个数是一样的

但是这么判断时,根本不走if

if($a==$b){
echo '相等';
}


后来这么判断 floatval($a) == floatval($b) 得出来是false
但是intval($a) == intval($b) 得出来是 true
但是日志打印出来,看不出来数字有什么不一样
请教大家有没有遇到过这样的问题,
...全文
279 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-02-01
  • 打赏
  • 举报
回复
给出真实数据
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
浮点数因精度原因,不能做精确比较 如
$a = 1.000000000001;
$b = 1.000000000000;
var_dump($a==$b);//bool(false)
var_dump(intval($a)==intval($b));//bool(true)
这两个数有可能是带2位小数的,所以不能用intval处理,但是之前intval也比对过是true没有问题,后来网上找了怎么比对浮点数,说是strval后比对,确实没有问题,但是日志打印出来确实不是浮点数 是一个整数
xuzuning 2018-02-01
  • 打赏
  • 举报
回复
浮点数因精度原因,不能做精确比较 如
$a = 1.000000000001;
$b = 1.000000000000;
var_dump($a==$b);//bool(false)
var_dump(intval($a)==intval($b));//bool(true)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧