php round的问题(取精度结果不正确)
Jun 23, 2016 pm 02:21 PM
php
发现使用PHP round函数进行小数控制的时候,有问题,如下所示:round(9999999999999.99, 2) 期望值:9999999999999.99;实际值:10000000000000
round(1111111111111.11, 2) 期望值:1111111111111.11;实际值:1111111111111.1
请问有没有遇到类似问题的?这个是PHP已知缺陷吗?没有看到官方发布的相关说明。
注:我机器上PHP版本是5.3.6
回复讨论(解决方案)
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
$a = 1111111111111.11;
echo $a;
这段代码说明了什么?并没有调用round?
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
$a = 1111111111111.11;
echo $a;
这段代码说明了什么?并没有调用round?
输出结果是1111111111111.1,说明脚本编译期间就将1111111111111.11转换成1111111111111.1了。
可能是php的浮点类型由于精度的原因不能存储1111111111111.11。
你没有看php官方的说明吗?" 所以永远不要相信浮点数结果精确到了最后一位"
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
$a = 1111111111111.11;
echo $a;
这段代码说明了什么?并没有调用round?
输出结果是1111111111111.1,说明脚本编译期间就将1111111111111.11转换成1111111111111.1了。
可能是php的浮点类型由于精度的原因不能存储1111111111111.11。
你没有看php官方的说明吗?" 所以永远不要相信浮点数结果精确到了最后一位"
那想要完整显示我例举的数字应该如何处理?
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
$a = 1111111111111.11;
echo $a;
这段代码说明了什么?并没有调用round?
输出结果是1111111111111.1,说明脚本编译期间就将1111111111111.11转换成1111111111111.1了。
可能是php的浮点类型由于精度的原因不能存储1111111111111.11。
你没有看php官方的说明吗?" 所以永远不要相信浮点数结果精确到了最后一位"
那想要完整显示我例举的数字应该如何处理?
你还是没有看官方的说明,里面说的很清楚了,自己找答案去吧
round函数没有问题
$a = 1111111111111.11;echo $a;
参考php关于浮点类型精度的介绍吧
http://www.php.net/manual/zh/language.types.float.php
$a = 1111111111111.11;
echo $a;
这段代码说明了什么?并没有调用round?
输出结果是1111111111111.1,说明脚本编译期间就将1111111111111.11转换成1111111111111.1了。
可能是php的浮点类型由于精度的原因不能存储1111111111111.11。
你没有看php官方的说明吗?" 所以永远不要相信浮点数结果精确到了最后一位"
那想要完整显示我例举的数字应该如何处理?
你还是没有看官方的说明,里面说的很清楚了,自己找答案去吧
OK,thanks
浮点数只能保存有限数位的值
php 已经提供了高精度数学函数库 BC、GMP

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
