位置: 编程技术 - 正文

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

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

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

  • 广告行业的税负率
  • 税收分类方法表格
  • 预付卡的发票
  • 劳务报酬个人所得税怎么计算
  • 公司不营业需要做年报吗
  • 公墓增值税政策
  • 短期负债包括哪些债务
  • 出口免税收入会退税吗
  • 餐饮店投资入股注意事项
  • 股东债权转资本公积利和弊
  • 普通发票发票联丢了
  • 增值税普通发票怎么开
  • 进项税额转出其他应收款
  • 进项发票可以抵扣吗
  • 印花税可以计入开办费吗
  • 事业单位开发成本占比
  • 企业采购设备有哪几种情形
  • 销售购进材料会计分录
  • 或有事项确认资金怎么填
  • 银行定期存款账户
  • php数组函数,选班长
  • 深入php:面向对象、模式与实践
  • 支付保证金需要附件
  • mac osx10.11
  • PHP:imagetruecolortopalette()的用法_GD库图像处理函数
  • 如果企业亏损要交企业所得税吗
  • 在建工程完工后不转固定资产
  • 最小型笔记本
  • PHP:imagecreatefromwebp()的用法_GD库图像处理函数
  • 进项税可以留底多长时间
  • 税务系统申报表
  • yolov2模型
  • php内存缓存
  • php邮箱smtp发信源码
  • ls命令的作用
  • 进口货物没有发票怎么入账,报税时怎么填
  • 社保基数填错了 多扣多钱可以退款吗
  • phpcms api
  • 中国移动发票抬头开错了可以重开吗
  • 个人所得税税率怎么算
  • 开票地址必须和营业执照上一样吗少个字号可以吗
  • 土增清算后再销售
  • 租金收入什么时候交房产税
  • 对方公司已注销还能起诉吗
  • 失控发票要转出成本吗
  • 一次性加速折旧额怎么算
  • 银行存款账面余额是企业还是银行
  • 商标使用权入股要交税吗
  • 诉讼代理费计入成本吗
  • 管理费用一般包含研发费用吗
  • 法人代表可以兼任出纳吗
  • 资产类科目一般是什么
  • 私人网银可以转账吗
  • 企业微信对公账户认证
  • mysql 5.7.11 winx64快速安装配置教程
  • win7下mysql6.x出现中文乱码的完美解决方法
  • winxp任务管理器在哪
  • win7更改win10系统要怎么更改
  • cf游戏截图在哪个文件夹
  • xp怎么改w7
  • macos创建文件夹
  • surface准备就绪
  • cocos2dx官方教程
  • js如何使用
  • 图片加密后怎么找不到
  • 如何进行js 的测试
  • nodejs命令行参数解析
  • 安卓开发
  • Windows上安装Python
  • 原生javascript+css3编写的3D魔方动画旋扭特效
  • 安卓udp抓包
  • 深入理解android内核
  • javascript中substr,substring,slice.splice的区别说明
  • nodejs常用内置模块
  • js获取当前点击事件的节点
  • jquery操作表单
  • 税务局函调情况说明
  • 青岛税务社保缴费下载平台
  • 公司外购设备对外投资账务处理
  • 扬州 税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设