返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php处理浮点数、精度运算、数字处理的示例分析
  • 806
分享到

php处理浮点数、精度运算、数字处理的示例分析

2023-06-15 02:06:08 806人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关PHP处理浮点数、精度运算、数字处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 前言 php浮点类型数字进行运算 稍微不留神就会出现偏差 特别是金融行业

这篇文章将为大家详细讲解有关PHP处理浮点数、精度运算、数字处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 

前言

php浮点类型数字进行运算 稍微不留神就会出现偏差 特别是金融行业,电子商户订单,商城类项目

浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数 或者 gmp 函数。

一 . 运算

错误

 //加 $a = 0.1; $b = 0.7; $c = intval(($a + $b) * 10); echo $c."<br>"; //输出:7     //减 $a = 100; $b = 99.98; $c = $a - $b; echo $c."<br>"; //输出:0.019999999999996     //乘 $a = 0.58; $b = 100; $c = intval($a * $b); echo $c."<br>"; //输出:57     //除 $a = 0.7; $b = 0.1; $c = intval($a / $b); echo $c."<br>"; //输出:6

正确

对于任意精度的数学,PHP 提供了支持用字符串表示的任意大小和精度的数字的二进制计算。
2. 官方手册:php.net/manual/zh/book.bc.php
3. 大家在使用前,请先确认是否已安装 bcmath。

 //加 $a = 0.1; $b = 0.7; $c = intval(bcadd($a, $b, 1) * 10); echo $c."<br>"; //输出:8     //减 $a = 100; $b = 99.98; $c = bcsub($a, $b, 2); echo $c."<br>"; //输出:0.02     //乘 $a = 0.58; $b = 100; $c = intval(bcmul($a, $b)); echo $c."<br>"; //输出:58     //除 $a = 0.7; $b = 0.1; $c = intval(bcp($a, $b)); echo $c."<br>"; //输出:7
除了加减乘除,bcmath 还提供了以下方法:

bccomp 比较两个任意精度的数字
2. bcmod 对一个任意精度数字取模
3. bcpow 任意精度数字的乘方
4. bcpowmod 高精度数字乘方求模
5. bcscale 设置所有bc数学函数的默认小数点保留位数
6. bcsqrt 任意精度数字的二次方根

二 . 常用数值处理方案

舍去法取整(向下取整)

echo floor(5.1);//输出:5echo floor(8.8);//输出:8

进一法取整(向上取整)

echo ceil(5.1);//输出:6echo ceil(8.8);//输出:9

普通四舍五入法

echo round(5.1);//输出:5echo round(8.8);//输出:9//保留两位小数并且进行四舍五入echo round(5.123, 2);//输出:5.12echo round(8.888, 2);//输出:8.89//保留两位小数并且不进行四舍五入echo substr(round(5.12345, 3), 0, -1);//输出:5.12echo substr(round(8.88888, 3), 0, -1);//输出:8.88

银行家舍入法

四舍六入五考虑,五后非空就进一,五后为空看奇偶,五前为偶应舍去,五前为奇要进一。
2. 保留两位小数 例:

 1.2849 = 1.28 -> 四舍 1.2866 = 1.29 -> 六入 1.2851 = 1.29 -> 五后非空就进一 1.2850 = 1.28 -> 五后为空看奇偶,五前为偶应舍去 1.2750 = 1.28 -> 五后为空看奇偶,五前为奇要进一

数值格式化(千位分组)

应用于金额的展示,比如我们经常会看的银行卡余额。

 echo number_fORMat('10000.98', 2, '.', ','); //输出:10,000.98     echo number_format('340888999', 2, '.', ','); //输出:340,888,999.00

php的框架有哪些

php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Phalcon是运行速度最快的一个PHP框架。3、Symfony,Symfony是一款为WEB项目准备的PHP框架。4、Yii,Yii是一款快速、安全和专业的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的开源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能强大的PHP框架。

关于“php处理浮点数、精度运算、数字处理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: php处理浮点数、精度运算、数字处理的示例分析

本文链接: https://lsjlt.com/news/276752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php处理浮点数、精度运算、数字处理的示例分析
    这篇文章将为大家详细讲解有关php处理浮点数、精度运算、数字处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 前言 php浮点类型数字进行运算 稍微不留神就会出现偏差 特别是金融行业...
    99+
    2023-06-15
  • Python中浮点数精度处理
    Python中,浮点数运算,经常会碰到如下情况: 出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。 比如说: 0.1是十进制,转化为二进制后它是个无限循环的数: 0.00011001100110011001...
    99+
    2023-01-31
    精度 浮点数 Python
  • PHP浮点数运算精度失真问题的深入分析
    PHP作为一种脚本语言在Web开发中使用广泛,其灵活性和易用性受到众多开发者的青睐。然而,在使用PHP进行浮点数运算时,经常会遇到精度失真的问题,这给开发过程带来一定的挑战。本文将对P...
    99+
    2024-02-27
    php 浮点数 精度
  • Python中图像点运算与灰度化处理的示例分析
    这篇文章主要介绍了Python中图像点运算与灰度化处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一.图像点运算概念图像点运算(Point Operation)指...
    99+
    2023-06-29
  • Shell脚本处理浮点数的运算和比较实例
    通过top命令看到的进程的CPU、内存的使用率的百分比是一个浮点数,我需要在写脚本时对其进行处理,所以学习了一些,总结如下。 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“b...
    99+
    2022-06-04
    脚本 实例 浮点数
  • Python线性点运算数字图像处理示例详解
    目录点运算定义分类线性点运算分段线性点运算非线性点运算对数变换幂次变换点运算 定义 分类 线性点运算 例子: 分段线性点运算 非线性点运算 对数变换 幂次变换 ...
    99+
    2024-04-02
  • Golang处理浮点数遇到的精度问题(使用decimal)
    目录一、浮点数是什么?1.指数方案2.规范化指数形式3.IEEE754标准二、出现精度问题的情况1.浮点数加减运算2.float64与float32之间转换3.int64和float...
    99+
    2024-04-02
  • Python基本运算几何运算处理数字图像示例
    目录平移镜像水平镜像垂直镜像旋转以图像左上角为旋转中心以图像中心为旋转中心缩放插值算法最近邻插值算法双线性插值算法三次内插法改变图像中物体对象(像素)之间的空间关系。 平移 #...
    99+
    2024-04-02
  • Golang处理浮点数遇到的精度问题怎么解决
    这篇文章主要介绍“Golang处理浮点数遇到的精度问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang处理浮点数遇到的精度问题怎么解决”文章能帮助大家解决问题。一、浮点数是什么?浮...
    99+
    2023-06-29
  • Python函数加速数据分析处理速度的示例分析
    Python函数加速数据分析处理速度的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言:Pandas 是 Python 中最广泛使用的数据分析和操作库...
    99+
    2023-06-22
  • Shell脚本处理浮点数的运算和比较方式
    这篇文章主要讲解了“Shell脚本处理浮点数的运算和比较方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本处理浮点数的运算和比较方式”吧!通过top命令看到的进程的CPU、内存...
    99+
    2023-06-09
  • ajax数据处理的示例分析
    这篇文章将为大家详细讲解有关ajax数据处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需要注意的是,调用的封装的数据库,和jQuery的保存地址一、注册(1...
    99+
    2024-04-02
  • PHP中国际化地数字格式处理的示例分析
    小编给大家分享一下PHP中国际化地数字格式处理的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!学习PHP中国际化地数字格式处理不知道大家有没有了解过,对于数字格式来说,西方国家会以三位为一个进位,使用逗号来分隔。比...
    99+
    2023-06-20
  • VB.NET处理数据行的示例分析
    VB.NET处理数据行的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于编程人员来说,运用VB.NET能给他们带来好处是不言而喻的。那么它的哪些优点能...
    99+
    2023-06-17
  • 解决PHP浮点数计算精度丢失的方法
    解决PHP浮点数计算精度丢失的方法 在PHP中,由于浮点数的本质是二进制表示,会导致在进行计算时出现精度丢失的问题。这种问题在一些对精度要求较高的场景下就显得尤为重要。为了避免由于浮点...
    99+
    2024-02-27
    解决方法 php浮点数 计算精度
  • PHP中处理字符串转浮点数的最佳实践
    在PHP中处理字符串转浮点数是开发过程中常见的需求,例如从数据库中读取到的金额字段是字符串类型,需要转换为浮点数进行数值计算。在这篇文章中,我们将介绍PHP中处理字符串转浮点数的最佳实...
    99+
    2024-04-02
  • PHP浮点数运算问题分析与解决方案
    PHP是一种广泛应用于网站开发的脚本语言,其强大的功能和灵活性使得它成为许多开发者的首选工具。然而,在处理浮点数运算时,PHP也存在一些问题,特别是在涉及到精度和精确性要求较高的情况下...
    99+
    2024-02-27
    php 运算 浮点数 格式化输出
  • Pytorch中Dataset数据处理的示例分析
    这篇文章给大家分享的是有关Pytorch中Dataset数据处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Pytorch系列是了解与使用Pytorch编程来实现卷积神经网络。学习如何对卷积神经网络编...
    99+
    2023-06-22
  • Pandas文本数据处理的示例分析
    这篇文章主要介绍了Pandas文本数据处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 文本数据类型在pandas中存储文本数据有两种方式:object 和 ...
    99+
    2023-06-20
  • java中浮点数误差的示例分析
    这篇文章将为大家详细讲解有关java中浮点数误差的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、说明浮点数有一个需要特别注意的点就是浮点数是有误差的。因为浮点数存在这个特性,所以我们在编程中要...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作