好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php精度取整 php float 精度

很多站长朋友们都不太清楚php精度取整,今天小编就来给大家整理php精度取整,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php如何保留小数点后2位并且取整? 2、 PHP取整数函数常用的四种方法小结 3、 php 浮点加减是不是会出现精度问题 4、 php取整的几种方式 5、 php取整函数是什么 6、 php整数取百整 php如何保留小数点后2位并且取整?

/*

 *$num 要处理的浮点数

 *$digits 保留的小数位数

 * 实现思路:先乘以10的小数位数次方,用floor向下取整,再除以除数得到舍去后面位数的结果

 * 最后再用sprintf配合位数再取一次值(此处是为了解决有些数字,最后一位为零时不显示问题)

 */

function floorFloat($num, $digits) {

$num = floatval($num);

$multiple = pow(10, $digits);

$tempNum = floor($num*$multiple);

return sprintf('%.'.$digits.'f', $tempNum/$multiple);

}

PHP取整数函数常用的四种方法小结

ceil

—

进一法取整

说明

float

ceil

(

float

value

)

返回不小于

value

的下一个整数,value

如果有小数部分则进一位。ceil()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

例子

1.

ceil()

例子

复制代码

代码如下:

<?php

echo

ceil(4.3);

//

5

echo

ceil(9.999);

//

10

?>

floor

—

舍去法取整

说明

float

floor

(

float

value

)

返回不大于

value

的下一个整数,将

value

的小数部分舍去取整。floor()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

例子

1.

floor()

例子

复制代码

代码如下:

<?php

echo

floor(4.3);

//

4

echo

floor(9.999);

//

9

?>

round

—

对浮点数进行四舍五入

说明

float

round

(

float

val

[,

int

precision]

)

返回将

val

根据指定精度

precision(十进制小数点后数字的数目)进行四舍五入的结果。precision

也可以是负数或零(默认值)。

例子

1.

round()

例子

复制代码

代码如下:

<?php

echo

round(3.4);

//

3

echo

round(3.5);

//

4

echo

round(3.6);

//

4

echo

round(3.6,

0);

//

4

echo

round(1.95583,

2);

//

1.96

echo

round(1241757,

-3);

//

1242000

echo

round(5.045,

2);

//

5.05

echo

round(5.055,

2);

//

5.06

?>

intval—对变数转成整数型态

例子intval()

复制代码

代码如下:

<?php

echo

intval(4.3);

//4

echo

intval(4.6);

//

4

?>

php 浮点加减是不是会出现精度问题

前段时间同事在算个值的时候发现,算出来的值不对,于是来问我,之前的开发中也遇到过这个问题,已经记不清楚怎么处理的了,貌似用round四舍五入来着

php浮点数的精度

浮点数的精度

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

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

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

上已经讲了解决方法是用任意精度数学函数或者 gmp 函数,具体用什么函数还是看官方文档

php取整的几种方式

有三种方式,分别是floor()(舍去小数部分,只取整数),ceil()(进一取整,只要有小数部分,直接加一),round()(四舍五入取整)。。。

php取整函数是什么

有3个:

floor

—

舍去法取整

floor

($value

)

返回不大于

value

的下一个整数,将

value

的小数部分舍去取整。floor()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

?php

echo

floor(4.3);

//

4

echo

floor(9.999);

//

9

?

ceil

—

进一法取整

ceil

(

$value

)

返回不小于

value

的下一个整数,value

如果有小数部分则进一位。ceil()

返回的类型仍然是

float,因为

float

值的范围通常比

integer

要大。

?php

echo

ceil(4.3);

//

5

echo

ceil(9.999);

//

10

?

round

—

对浮点数进行四舍五入

?php

echo

round(3.4);

//

3

echo

round(3.5);

//

4

echo

round(3.6);

//

4

echo

round(3.6,

0);

//

4

echo

round(1.95583,

2);

//

1.96

echo

round(1241757,

-3);

//

1242000

echo

round(5.045,

2);

//

5.05

echo

round(5.055,

2);

//

5.06

?

php整数取百整

floor取的是舍去小数点后面之后的数,floor(10.1),取到的是10,而人家是要进1的,所以应该用ceil(1010/100)*100,这样就正确了。ceil是逢小数点便进1然后取整。

关于php精度取整的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php精度取整 php float 精度的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did209404
更新时间:2023-05-03   阅读:34次

上一篇: php获取整数部分 php获取字符串中的数字

下一篇:php+清洗数据 phpstudy删除数据库

相关资讯

最新资料更新

  • 1.php中catch的简单介绍
  • 2.php底层c源码 php底层是用c写的吗
  • 3.php方法前加 php变量前后加点
  • 4.字符串对齐方法php php字符串赋值
  • 5.安卓phpapp 安卓php服务器
  • 6.php限制访问ip php访问被拒绝
  • 7.php教程全局交流 phpunit教程
  • 8.php复杂语法 php基本语法
  • 9.登录htmlphp 登录html
  • 10.php比较运算符价格 php中用于比较字符串的函数
  • 11.php的如何使用数组if php中数组
  • 12.phpword导出 phpspreadsheet导出
  • 13.php数据库的建立 php中数据库怎么设计
  • 14.php读取数据库字段值 php读取sql
  • 15.php双色球案例 双色球php复式逻辑
  • 16.php生成uuid php生成随机6位数
  • 17.抓取淘宝商品php 抓取淘宝商品风控
  • 18.无限级菜单php java无限极菜单
  • 19.php项目详解 php项目总结
  • 20.phphuoqv多选 php选择语句

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]