php 小数末尾进1,PHP处理浮点数进一、去尾(不进行四舍五入) | 剑花烟雨江南...
在开发中,我们经常遇到要把数字进行两位小数的处理,通常情况下我们使用四舍五入可以满足需求,而且mysql 的金额存储也是会进行自动的四舍五入处理。但是在某些需求中,往往只需要保留两位小数即可。例如:在电商平台中,如果订单有优惠金额,会将优惠金额平摊到每一个商品上,从而在退货时,只退用户实付金额即可,但是,如果采取默认的四舍五入,用户多次退款可能出现退款金额超出的情况,因此,我们只保留两位小数就可以。
先来看,PHP自带的两浮点数方法:
ceil 函数:
将浮点向上舍入为最接近的整数,也就是 数学上称为的进一法。
floor 函数:
将浮点向下舍入为最接近的整数,也就是 数学上称为的去尾法。
我们可以利用这两个方法实现上述的功能:
/**
* @param float $number 数字
* @param int $digits 保留的位数
* @return float|int
*/
function numberCeil($number, $digits = 2)
{
$digits = "1".sprintf("%0" . $digits . "d", 0);;
return ceil($number * $digits) / $digits;
}
echo numberCeil(2.3455, 3);
/**
* @param float $number 数字
* @param int $digits 保留的位数
* @return float|int
*/
function numberFloor($number, $digits = 2)
{
$digits = "1" . sprintf("%0" . $digits . "d", 0);;
return floor($number * $digits) / $digits;
}
echo numberFloor(2.3455, 3);
php 小数末尾进1,PHP处理浮点数进一、去尾(不进行四舍五入) | 剑花烟雨江南...相关推荐
- php 小数末尾进1,PHP小数点最后一位加1、减1
比如我有几个数字(小数点后面的位数不固定): 1.155.055 2.122.196 3.0.9631 我怎么做才能让这些数字的小数点最后一位+1,或者-1?比如+1的话希望得到: 1.155.056 ...
- Bailian2765 POJ NOI0113-03 八进制小数【进制】
问题链接:POJ NOI0113-03 八进制小数. 原题出处:Bailian2765 八进制小数. 总时间限制: 1000ms 内存限制: 65536kB 描述 八进制有限小数均可以用十进制有限小数 ...
- ACMNO.2 输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数。 输入 一个华氏温度,浮点数 输出 摄氏温度,浮点两位小数
题目描述 输入一个华氏温度,要求输出摄氏温度.公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数. 输入 一个华氏温度,浮点数 输出 摄氏温度,浮点两位小数 样例输入 -40 样例输出 c ...
- php保留两位小数,四舍五入和有小数就进1(可保留两位小数)
1.直接就向上进1,保留两位小数 ceil(10.521 * 100)/100; 结果10.53: ceil函数就是取整有小数就进12.四舍五入 echo round(5.211, 2); //5.2 ...
- c语言去尾法和进一法的例子,《去尾法与进一法》教学案例与反思
第1篇:<去尾法与进一法>教学案例与反思 教学内容:教科书第99页,例8.试一试.练一练,练习十九3-6题. 教学目标: 1.进一步理解小数近似数的含义,能根据要求用"四舍五入& ...
- c++将浮点数转换为整数类型,要求四舍五入
描述 将浮点数转换为整数类型,要求四舍五入. 输入描述: 随机输入的浮点数 输出描述: 四舍五入之后的整数 思路: 1.将输入的浮点数d强制转换为整形(此时并不能实现四舍五入的转换) 在c中强制类型转 ...
- 进制转换【最全进制转换汇总】(整数_小数_正数_负数)正负数整数小数十进制转任意进制-正负数整数小数任意进制转十进制-正负数低进制转高进制-正负数高进制转低进制
文章目录: 补充知识点:各进制符号表示及其关系--二进制(B).八进制(O).十进制(D).十六进制(前缀OX,后缀H) 扩展:在线进制转换 第一部分:正数 一:[整数]正数十进制转任意进制:辗转相除 ...
- c语言浮点数用16进制表示方法,浮点数用十六进制表示方式附C代码
浮点数用十六进制表示:我这里遇到的问题是知道数值,但需要把数值发送到上位机里显示波形,但是上位机是以浮点数的存储格式来解析的,但是我的单片机不支持float类型,所以我的需求是把已知的数值看做是浮点数 ...
- python中浮点数和小数的区别_Python中的浮点数和小数
简介 float类型,即浮点数,是Python内置的对象类型;decimal类型,即小数类型,则是Python的标准库之一decimal提供的对象类型,也是内置的.了解decimal类型的最佳资料,就 ...
最新文章
- SetRegistryKey函数
- 去掉ILDasm的SuppressIldasmAttribute限制
- Java中long和Long有什么区别
- GraphicsStatsService之1-dump数据的实现
- 因子(Number_Of_Factors)
- Centos6.9安装部署nginx服务器
- 四川巴中中学2021高考成绩查询,巴中市高中排名(2021巴中市中学前十排名)
- 多商户商城源码_多商户小程序开发搭建?开达应用多商户入驻商城小程序制作教程...
- 旅游业者泄露个人信息可被起诉
- 使用 setTimeout 实现 setInterval
- 2016值得关注的5大IT趋势
- iOS开发字符串倒序,倒序单词字母,不倒序单词位置
- TMS570LC43xx SylixOS can 驱动
- 推荐一款笔记软件 Notion
- HTTP Error 503 错误解决办法
- LoRaWAN 帧计数机制及典型问题分析
- C语言switch输入月份输出季节,输入年月,输出月份有几天(分别用了if——else和switch)...
- 知乎百万热议:互联网已成红海,为什么BAT却不涉足传统制造行业
- 《python 机器学习算法-logistics regression》
- 树莓派4配置USB启动-解决wlan0不识别问题
热门文章
- R语言关系操作符:>、<=、!=、>=、==、
- 第五章 RNA-seq分析
- class struct
- 使用VC++6.0创建MFC对话框程序
- MySQL安装查看密码修改密码
- linux 内核 时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
- tf.io.gfile.glob 遍历文件
- pandas KeyError [‘1‘] not found in axis 错误的解决方法
- 使用webpack打包后,vscode中vue代码变白色的解决办法
- 列表转字符串,再转回来,完全一致