位置: 编程技术 - 正文

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 转载请保留说明!

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

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

  • 税后营业利润怎么算出来的
  • 现金流量表财务费用怎么填
  • 应收账款平均余额公式
  • 发票只有抵扣联没有发票联能不能报销
  • 非主营业务收入计入什么科目
  • 广告业务增值税税率
  • 房地产企业预收账款预缴企业所得税
  • 取得增值税专用发票要算税吗
  • 企业养老金计算公式举例说明
  • 房租抵扣个税需要提供发票吗
  • 现金账怎么记账图例
  • 无法收回的应收账款情况说明
  • 过节发什么物资给员工好些
  • 个人承担的社保算工资吗
  • 不征税收入税收政策
  • 增值税专票电话号码错了有关系吗
  • 不是本公司员工
  • 少交了增值税怎么补
  • 工程发票备注怎么写
  • 企业优惠条件
  • 需要清卡才能开票吗
  • 充值单据怎么开发票
  • 土地增值税地价扣除
  • 4s店以车换车怎么算的
  • 企业零申报用错法人情况说明
  • 企业怎么通过债务转让
  • 网页显示不全怎么回事
  • 小规模纳税人申报
  • 房产税的征收范围为
  • 决算报表是财务报表吗
  • 出差的误餐费会计分录
  • find.exe应用程序错误
  • 企业预付工程款的会计分录怎么做
  • 原始凭证的内容有哪些
  • 商票贴现 银票贴现
  • 社会保险费征收机构责令限期缴纳
  • 划拨建设用地使用权没有使用期限的限制
  • php封装api
  • 跨地区经营建筑企业预缴增值税
  • php自定义函数的关键字是什么
  • 玩很多游戏的人
  • PHP mysqli_free_result()与mysqli_fetch_array()函数详解
  • 其他收益和其他收入的区别
  • 贷款和应收款项属于金融资产吗
  • 合作社计提工资
  • 如何对php网站页面进行修改
  • mysql查询表清单
  • 小型微利企业可以享受研发费加计扣除吗
  • 企业间借款利息收入
  • 购买银行理财产品的几个必须知道
  • 企业有哪些固定资产
  • 计入委托加工物资成本的消费税
  • 消费税会计处理的设置
  • 向非关联企业捐赠现金会计分录
  • 公司向个人借款怎么做账
  • 员工社保报销流程
  • 住宿费专票可以抵扣进项税吗税率多少
  • 公摊水电费计入什么科目
  • 农村的扶贫政策是什么
  • 电梯广告租赁属于什么服务
  • 丢失的发票怎么查询
  • 劳务报酬现金流量
  • 金税盘不申报会不会罚款
  • 资本公积金什么时候提取
  • 清空数据库中所有表的数据
  • win10系统预览版
  • FNPLicensingService.exe是什么意思
  • ubuntu20开机自启动
  • 明日之后白树高地怎么钓凤尾鱼
  • win7系统浏览器版本老怎么升级
  • 超级管理员不能用winhello
  • WIN10任务栏时间不动
  • 计算机中丢失opencv_core249.dll
  • 基于python的推荐系统
  • jQuery中ajax的load()与post()方法实例详解
  • PreferenceActivity、PreferenceFragment使用
  • linearlayout addview
  • jquery网页
  • 安卓圆角矩形图标
  • 税务局稽查科是干什么的工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设