位置: 编程技术 - 正文

PHP中浮点数计算比较及取整不准确的解决方法(php浮点数转为字符串)

编辑:rootadmin

推荐整理分享PHP中浮点数计算比较及取整不准确的解决方法(php浮点数转为字符串),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php字符串转浮点型,php点运算符,php浮点型的比大小,php 浮点数计算,php 浮点计算,php浮点数转为字符串,php浮点数转为字符串,php浮点数计算解决方法,内容如对您有帮助,希望把文章链接给更多的朋友!

浮点数计算结果比较一则浮点数计算例子如下:

打印出的结果是:bool(false)。也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的。

对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0....。

我们将上面的变量用双精度格式打印出来:

输出结果如下:

显然在这里,实际上作为浮点型数据,其精度已经损失了一部分,达不到完全精确。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。需要说明的是,这不是PHP的问题,而是计算机内部处理浮点数的问题!在 C、JAVA 等语言中也会遇到同样的问题。

PHP中浮点数计算比较及取整不准确的解决方法(php浮点数转为字符串)

所以要比较两个浮点数,需要将其控制在我们需要的精度范围内再行比较,因此使用 bcadd() 函数来对浮点数想加并进行精度转换(为字符串):

浮点数取整

在《PHP 取整函数 ceil 与 floor》一文中,曾有例子:

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的:

经过上面对浮点数计算的探讨,知道这是浮点数计算结果不完全精确造成的,因此使用 round() 函数处理一下即可:

虽然 round() 函数是按照指定的精度进行四舍五入,但保留小数点后一位,对我们的取整结果是没影响的。

网站防止被刷票的一些思路与方法 1.IP限制这是使用的最多,也是最广泛,不可少的刷票限制。而且由于专题都没有用户模块,使得这个方法,几乎成了唯一可行的手段。该方式,通过获

浅谈php和.net的区别 本人最近从asp.net转向了php,主攻方向是Web开发,感觉两者之间还是有不少的区别的。1.相对于.net,php更偏向于解释性语言类型;2.在.net中,我们操作的主

初识PHP 1.在PHP中,全局变量都要大写;2.在PHP表单提交方式中,method属性设置了获取和提交数据的方式;3.如果在表单中使用了上传元素,那么就要给表单添加

标签: php浮点数转为字符串

本文链接地址:https://www.jiuchutong.com/biancheng/276570.html 转载请保留说明!

上一篇:分享常见的几种页面静态化的方法(有哪些分享方式)

下一篇:网站防止被刷票的一些思路与方法(网站防止被刷票怎么解决)

  • 印花税缴纳方式一经选择1年之内不得修改
  • 公立医院事业单位录用是编制吗
  • 差旅费包括哪些费用
  • 连续三个月发烧怎么回事
  • 企业所得税季度申报填写示例
  • 购买金税盘抵扣
  • 进账单填错了用重新开转账支票吗
  • 进项交税吗
  • 年薪12万个人所得税交多少钱
  • 税款滞纳金可以退吗
  • 机票退票手续费为什么这么贵
  • 公司注册资金未实缴可以申请破产吗
  • 小规模建筑安装增值税税率是多少
  • 简易计税进项税额转出公式
  • 租赁发票交税交多少
  • 增值税纳税申报表在哪里查询
  • 劳务公司差额征收税率是多少
  • 个体工商户做账可以做工资吗
  • 计提应收票据利息怎么算
  • 固定资产出租需要交什么税
  • 免税收入和不征税收入有哪些?怎么记忆
  • win1020h2更新0x800f081f
  • 职工福利费的会计科目是什么
  • 第三方工具查看对方关注抖音
  • php 字符串函数
  • 子公司之间能否相互承包工程
  • PHP:Memcached::flush()的用法_Memcached类
  • 存放同业属于什么业务
  • linux怎么检查网络状态
  • php零基础教程
  • 免费设备投放项目
  • 筹建期间的开办费为什么不属于资产
  • 红嘴牛文鸟图片
  • 前端搭建项目
  • 黄石国家公园的英文翻译
  • vue3 拖拽
  • 计算机视觉项目队友只让你打标签是什么意思
  • php function函数的用法
  • 购买短期股票
  • php使用while循环计算1到100的和
  • 用税盘开发票税费扣除是怎么回事?
  • 应收账款的差额计入哪里
  • 暂估应付款怎么录入
  • 印花税计提怎么做分录
  • 长期待摊费用计提折旧
  • sql server 2008语句大全
  • 公司法人代表可以有几个
  • 出售固定资产应收账款
  • 大货车怎样申请报废
  • 摊销无形资产10000元
  • 冲去年管理费用
  • 子公司计提的盈余公积合并抵消
  • 社保计提少了怎么办
  • 实收资本增减变化为负数的原因
  • 收到红字发票账务处理应附哪些资料呢
  • 可供出售金融资产和交易性金融资产
  • 福利费可以直接发钱吗
  • 公司章程约定的出资时间
  • mysqld占用cpu高
  • linux系统安装yum
  • 硬盘安装后不显示
  • mac的vmware
  • Linux磁盘分区的作用
  • ubuntu linux指南:基础篇
  • mac怎么批量删除qq好友
  • 无法登录所请求的数据库 用户sa登录失败
  • win7安装软件后所有打开变成记事本
  • win7电脑dpi怎么设置800
  • msng.exe是什么
  • win8开始界面如何设置成win7
  • windows8应用商店在哪
  • win8.1专业版怎么升级成win10
  • Unity3D-SLua+ProtocolBuffers构建说明
  • linux反转
  • python搭建虚拟环境torch
  • scroll-view组件用于实现
  • 一年内在两家公司任职个税汇算清缴
  • 跨区迁移税务需要注销吗?
  • 河南车船税收费标准2022年
  • 国税局招录条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设