位置: 编程技术 - 正文

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

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

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

  • 增值税发票税控开票软件怎么下载
  • 小规模纳税人定期定额征收的怎么报税
  • 实收资本增加如何计算
  • 综合税率的计算方法是什么
  • 固定资产入账原值含税价吗
  • 油票发票怎么查真伪
  • 营业外收支计入哪里
  • 利息收入需要交印花税吗
  • 回单一定要在开户行打吗
  • 作废的增值税专用发票怎么处理
  • 企业所得税的优点有哪些
  • 专用基金计入什么科目
  • 物流企业信用评级
  • 母公司收取服务费请示
  • 电商平台流量费用怎么算
  • 非独立核算公司一定要体现公司的名称吗
  • 研发项目领原料加工成产品会计处理是怎样的?
  • 公司账户境外汇款
  • 成本费用调整法
  • 结存材料实际成本计算公式例题
  • 质保金算合同资产
  • w11系统有哪些新功能
  • 银行存款收款凭证属于什么凭证
  • 苹果电脑里的finder是什么
  • 数字证书费用计入管理费用什么科目
  • windows11怎么查询激活时间
  • 现金日记账漏记去年的利息怎么算
  • 营改增后哪些费用可以抵扣
  • 盘盈盘亏固定资产
  • php files
  • 使用php连接数据的方法
  • 微信小程序开发零基础入门
  • 让我看看他们
  • 税款入库期是什么意思
  • h5移动端网页设计
  • react脚手架搭建项目
  • 处置车辆收入缴税规定
  • python连接网络
  • 增值税怎么算出来的
  • 电梯安装行业分类
  • 现金盘盈盘亏怎么处理
  • 公司为员工代扣代缴
  • 长期股权投资减值准备是什么科目
  • 房地产按揭贷款政策
  • 关于sql的问题
  • 如何编制试算平衡表图示
  • 计提商业承兑汇票会计分录怎么写
  • 当年的应收账款需要提坏账吗
  • 原材料采用实际成本法,在会计核算上应设置的账户是
  • 贴现到期后
  • 其他权益工具是所有者权益类科目吗
  • 培训奖励怎么写
  • mysqladmin ping
  • sql server ceiling
  • win10的win+tab
  • Windows时间同步时出错该怎么解决?
  • ora01804怎么解决windows
  • rhel7
  • Linux下SSH Session复制功能实现方法
  • win7打不开网页,可以重装系统吗
  • win8系统怎么重新安装系统
  • 动画时期
  • jquery如何给div属性赋值
  • awk实例
  • 不错的mod_perl编程的简单应用实例介绍
  • cocos2d用什么语言开发游戏
  • jQuery ajax的功能实现方法详解
  • 利用感情骗取钱财算诈骗吗
  • service segment
  • python快速排序法
  • Android4.4 wpa_supplicant深入分析之wpa_supplicant初始化流程
  • 如何在标题栏显示图片
  • python嵌套列表怎么遍历
  • 云南省国家税务局APP
  • 出口企业的增值税怎么算
  • 深圳税务网上服务大厅官网
  • 辽宁国家税务局公务员职位2023
  • 非营利组织认定条件
  • 发票如何验真伪?
  • 买新车还要交套餐费吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设