位置: 编程技术 - 正文

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

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

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

  • 哪些费用可在缴纳医保
  • 什么企业符合加计扣除的条件
  • 减免水利基金政策
  • 用餐补贴算在工资里面吗
  • 商业零售企业实行增值税后购进商品业务的账务处理
  • 社保扣除当月工资还是上个月
  • 固定资产领用原材料要考虑增值税吗?
  • 申报所得税营业税怎么算
  • 不交增值税就不交企业所得税吗
  • 土地增值税纳税地点
  • 发票认证勾选是一回事吗
  • 所有转让土地税怎么算
  • 风险纳税人怎么查原因
  • 分公司可以再开分公司吗
  • 外贸企业增值税表二填写流程
  • 农产品普通发票抵扣怎么申报
  • 自产产品用于集体福利按什么价格入账
  • 宣传活动物资
  • 企业支付短期借款利息1000元
  • 账上少了25元怎么做账
  • 购买护肤品的会计分录
  • 加油可以吗
  • 向投资者分配现金股利会计分录?
  • 有销项无进项税务局会怎么罚
  • 巴拉诺维奇市
  • 资本化的后续支出包括哪些项目
  • tensorflow1 教程
  • 火星车百家号
  • 无偿占用资金企业有哪些
  • 生产成本和库存商品的区别
  • 控制器操作视频
  • centos php7.4
  • 出售长期股权投资的交易费用
  • vue预览word加水印
  • 时间格式转换成小时数
  • 客运公司做账怎么做
  • 处置固定资产科目
  • 金蝶会计报表公式
  • 预存5000送2000什么套路
  • sql server备份数据还原不了怎么办
  • 借款需要缴纳个人所得税吗
  • 进项发票做账了可以不认证吗
  • 公司组织员工吃饭或举行活动的行为被称为什么
  • 固定资产的折余价值和账面价值如何确定
  • 社保退回的款怎么入账
  • 房租收入税费
  • 其他应付账款在借方表示什么
  • 材料的采购成本包括
  • 加盟代理需要什么手续
  • 工程项目劳务分包招投标要多久
  • 往来款是什么意思
  • 租房期间损坏应赔偿多少
  • 咨询服务业成本比例
  • 如何证明自己是中国人
  • 报销单填写发票第几页交给财务
  • 企业应该设置哪些部门
  • MYSQL数据库原理及应用
  • mysql 树状查询语句
  • linux下mysql开启远程访问权限 防火墙开放3306端口
  • fedora安装apt
  • windows service 2008 r2
  • winxp 共享设置
  • win8.1输入法打不了中文
  • windows7包含6个版本其中什么最强大支持的功能最多
  • 如何关闭自动启动项目
  • linux中vi编辑器怎么使用
  • linux 怎么样
  • win8电脑锁屏时间怎么设置方法
  • windows8 应用商店
  • addObserver和postNotification函数传递函数的区别
  • opengl learn
  • 路径可分为
  • jsonp怎么使用
  • javascript new fun的执行过程
  • javascript create
  • 冲红和红冲的区别
  • 江苏契税补贴怎么领取
  • 广东省地税电子税务局
  • 日本各界
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设