php中float和double的区别有哪些

发布时间:2022-02-17 16:02:14 作者:iii
来源:亿速云 阅读:284

这篇“php中float和double的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中float和double的区别有哪些”文章吧。

在PHP中,float和double没有区别。浮点型在PHP中也叫浮点数float、双精度数double或实数real,float、double或real是相同的数据类型,可以使用同一种语法定义。

本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑

php中float和double的区别是什么

为了区分 php中float和double的区别,我采用以下代码分别输出。

$vad = 1.1;
print gettype($vad);
var_dump($vad);

这将输出:

double
float(1.1)

看着其实不同,实际上在php中,没有区别。 float,double或real是相同的数据类型。浮点型(也叫浮点数 float,双精度数 double 或实数 real. 在C级,一切都存储为双。

浮点数的精度

浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。

此外,以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999999991118…。

所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数。

以上就是关于“php中float和double的区别有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:
  1. MySQL中float double和decimal类型有何区别
  2. php版本7和5区别有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php float double

上一篇:mysql的frm文件报错怎么修复

下一篇:C#怎么实现简单串口通讯

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》