深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 300|回复: 0

php浮点数不能参与比较,如果浮点数要比较,必须确定比较的位数

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-11-23 10:17:48 | 300 | 0 | 显示全部楼层 |阅读模式
浮点数在内存中保存的是近似值
浮点数不能参与比较
  1. var_dump(0.9==(1-0.1));                //bool(true)
  2. echo '<br>';
  3. var_dump(0.1==(1-0.9));                //bool(false)
复制代码
如果浮点数要比较,必须确定比较的位数
  1. var_dump(0.9==(1-0.1));                //bool(true)
  2. echo '<br>';
  3. var_dump(0.1==(1-0.9));                //bool(false)
  4. echo '<br>';
  5. var_dump(bccomp(0.1,1-0.9,5));        //比较小数点后面5位   int(0)   0表示相等
复制代码
提醒:如果一个整数超出了整形的范围,会自动的转成浮点型


楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表