PHP 根据保留小数进行向上取整
1、通过截取取整(如果整数部分过大,会有问题)
/*** 对价格进行向上取整* @param $price 价格* @param $decimal 保留小数位数*/
function upDecimal($price, $decimal = 2){$data1 = pow(10, $decimal);$data2 = ceil(bcmul($price, $data1,10));$data3 = bcdiv($data2, $data1, $decimal);return $data3;
}
2、字符串取整
/*** 对价格进行向上或向下取整* @param $price 价格* @param $decimal 保留小数位数* @param $type 1:向上 2:向下*/
function upDecimal($num, $dec = 2, $type = 1){if($num != 0){$numArr = explode('.',$num);if($type == 1){if($num > 0){if($numArr[1][$dec] > 0){$numArr[1][$dec-1] = $numArr[1][$dec-1]+1;}}}else{if($num < 0) {if ($numArr[1][$dec] > 0) {$numArr[1][$dec - 1] = $numArr[1][$dec - 1] + 1;}}}$numArr[1] = substr($numArr[1], 0, $dec);$var = implode('.', $numArr);return $var;}return $num;
}
3.完美
/*** 对价格进行向上或向下取整* @param $price 价格* @param $decimal 保留小数位数* @param $type 1:向上 2:向下*/ function upDecimal($num, $qty = 2, $type = 1){$num2 = explode('.', $num);$dcmnum = $num2[1] ?? 0;$subnum = 0;if($dcmnum > 0){$subnum = bcsub(strlen($dcmnum), $qty, 10);}$powint = bcpow(10, $qty);$num = bcmul($num, $powint, $subnum);$numArr = explode('.', $num);$num = $numArr[0];$dcm = $numArr[1] ?? 0;if($dcm > 0){if($type == 1 && $num > 0){$num = $num + 1;}elseif($type == 2 && $num < 0){$num = $num - 1;}}return bcdiv($num, $powint, $qty); }
PHP 根据保留小数进行向上取整相关推荐
- mysql 相除 取整数位,psql除法保留小数,实现向上取整和向下取整操作_PostgreSQL_数据库...
在psql中,使用1/4得到的结果是0,因为/它取得是整数,但是有些场景我们是需要保留小数的,还有些场景需要向上取整,或者四舍五入的. 今天就总结下psql保留小数的方法 我用到的方法是类型转换,类似 ...
- js向上向下取整_WEB前端之js只保留整数,向上取整,四舍五入,向下取整等函数...
本文主要向大家介绍了WEB前端的js只保留整数,向上取整,四舍五入,向下取整等函数,通过具体的内容向大家展示,希望对大家学习WEB前端有所帮助. 1.丢弃小数部分,保留整数部分 parseInt(5/ ...
- 【PHP】保留两位小数并向上取整
问题: 一开始我想着数值*100然后向上取整然后再除以一百 $num = 1000 * 0.9634;echo $num;echo '</br>';$res = ceil($num * 1 ...
- js只保留整数,向上取整,四舍五入,向下取整等函数
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...
- java保留两位小数并向上取整_Java取整,固定保留两位小数,适配负数、金融数字。...
文/阿敏其人 本文出自阿敏其人简书博客,转载请注明出处和连接. 整数前的0去掉. 小数固定保留两位小数 兼容负数 数字检测 适配金融大数额 核心类 public class BigDecimalStr ...
- python3小数向上取整_Python小数取整 向下取整、四舍五入、向上取整【分享】
本帖子想要达到的效果: 会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现), 设置实体服务规则的字段必然触发条件, 小数类型的 可以实现向下取整.四舍五入.向上取整 功能. 先看界 ...
- php函数向上取整数,php四舍五入、精确2-3位小数位及向上取整的方法
在日常开发中我们经常会有些数值计算,我们可能需要对计算结果进行四舍五入.保留2,3位小数位,向上取整,向下取整等操作. 在php里也给我们提供了四个常用的数值计算的函数供我们使用. round()四舍 ...
- sql中向下取整怎么取_Sql 获取向上取整、向下取整、四舍五入取整的实例
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取] SELECT CEILING(13.15) --MSS ...
- oracle向上取整10倍数,Oracle四舍五入,向上取整,向下取整
用oracle sql对数字进行操作: 取上取整.向下取整.保留N位小数.四舍五入.数字格式化 取整(向下取整): select floor(5.534) from dual; select trun ...
最新文章
- elasticSearch6源码分析(4)indices模块
- 2020 操作系统第二次习题
- 工作393-注册小程序
- java word 饼图_[Java教程]echarts标准饼图解读(一)——基本配置demo
- 阿里巴巴编码规范java
- A - 敌兵布阵 - hdu 1166
- 苏州大学计算机学院推免流程,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
- 编写的第一个键盘软件
- 智慧城轨信息技术架构及信息安全规范_会员信息 | 中国铁设:在深圳,我们打造智慧地铁的“最强大脑”...
- eplan好看的电缆图表_EPLAN电缆图表模板
- csr驱动程序linux版,CSR8510蓝牙驱动下载
- 如何发送gmail邮件_如何从R和Gmail发送电子邮件
- 苹果手机微信聊天记录删除了怎么恢复?(基础操作版)
- 网络安全 (九 缓冲区溢出metasploit)
- (净化anaconda)conda install 中途打断出现ERROR REPORT
- Fedora修复grub2启动项grub rescue
- SuperPoint学习训练纪录 无训练版与带训练版本(一)
- (二)51单片机基础——LED
- GitHub 高星开源项目今日发起
- Python数据分析实战【九】:用Python处理省份城市编码数据【文末源码地址】
热门文章
- UAV021(三):九轴传感器(加速度计、陀螺仪和磁力计)校准方法
- 【Markdown】Markdown和插入图片的解决方法
- ZYNQ初体验千兆以太网的那些事儿(ps端)
- mysql主键约束自动增长_MySQL教程45-MySQL主键自增长
- linux中 gzip bizp2 xz zip怎么用,解压缩
- 从 薛定谔的猫 聊到 Event loop
- 小马哥---高仿苹果6sp 主板A9900 6582芯片刷机拆机主板图与开机识别图 此系列版本多
- 计算机类专业选考科目要求,新高考报考专业限制 选考科目要求
- jquery给单选按钮赋值_jquery循环遍历radio单选按钮,并设置选中状态
- UML之深入浅出类图讲义