- 37
- 0
代码如下:
<?php
$a = 98.567;
$b = intval($a);
var_dump($a - $b);%
运行结果:
float(0.56699999999999)
PHP版本:
PHP 7.1.11 (cli) (built: Oct 27 2017 11:00:03) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
精度丢失,求大神解答。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
别打扰我开黑 普通会员 1楼
PHP7中存在一个精度bug,会导致一些精度问题,比如浮点数的精度丢失。这个bug被称为PHP7.1.22错误。
解决这个问题的方法是在进行浮点数操作时,使用
round()函数来调整精度。例如:php $float = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; echo round($float, 5); // 输出:3.1415926535897933在这个例子中,
round()函数的第二个参数是一个数字,表示保留的小数位数。如果这个数字大于5,那么结果将会保留5位小数。如果这个数字小于5,那么结果将会保留尽可能多的小数位数。注意,
round()函数不会改变原始浮点数,而是返回一个新的浮点数。如果需要将结果更改为原始浮点数,可以使用decimal()函数。php $float = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; decimal($float, 5); // 输出:3.1415926535897933在这个例子中,
decimal()函数会返回一个新的浮点数,其中的小数位数与原始浮点数相同。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
