您正在使用IPV4(35.168.110.128)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 中秋节 21
2022年 国庆节 42
2023年 元 旦 134
2023年 春 节 155
 
本类新增
本类热门文章
您现在的位置:首页 >> PHP >> 内容
php保留两位小数的几种方法介绍
内容摘要: 1.不进位的情况比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。可以使用floor函数该函数是舍去取整。例如,floor(4.66456)结果:4。floor(9.1254)结果9。因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:$a=floor(3.149569*100)/100这时浮点计算会出现一个bug......
1.不进位的情况

比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。

可以使用floor函数

该函数是舍去取整。例如,floor(4.66456)结果:4。

floor(9.1254)结果9。

因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:

$a=floor(3.149569*100)/100

这时浮点计算会出现一个bug,通过PHP的无类型特性来解决这个问题,先strval转成字符串,再自动识别类型。下面计算百分比已经使用上strval()函数了

计算百分比

$successRate=floor(strval((2/3)*10000))/10000*100;

$result=$successRate.'%';

2.四舍五入的情况

round函数

floatround(floatval[,intprecision])

返回将val根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。

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

<?php

echoround(3.4);//3

echoround(3.5);//4

echoround(3.6);//4

echoround(3.6,0);//4

echoround(1.95583,2);//1.96

echoround(1241757,-3);//1242000

echoround(5.045,2);//5.04

echoround(5.055,2);//5.06

sprintf函数

实现四舍五入,并且如果是不带小数位数的,会自动用指定的字符(指定的0)补至指定的小数位数

echosprintf("%01.2f",5.228);//5.23

echosprintf("%01.2f",5.224);//5.22

echosprintf("%01.2f",5);//5.00

number_format函数

如果是不带小数位数的,会自动用0补至指定的小数位数

echonumber_format(5.228,2);//5.23

echonumber_format(5.224,2);//5.22

echonumber_format(5,2);//5.00

round函数

此函数可以实现四舍五入,但是如果是不带小数位数的,处理后也不带小数数位

echoround(5.228,2);//5.23

echoround(5.224,2);//5.22

echoround(5,2);//5

php进一法取整

echoceil(4.4);//5

echoceil(4.6);//5

php舍去法取整

echofloor(4.4);//4

echofloor(4.6);//4

上一篇:PHP让人不知道的匿名函数的几种写法 下一篇:PHP中实现页面跳转实例
发布日期:2022/7/13
手机扫二维码直达本页
发布时间:14:54:18
点击:88
录入:壹家怡园
相关文章
Baidu

YiJiaCMS 6.3.1.220701(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022