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 根据保留小数进行向上取整相关推荐

  1. mysql 相除 取整数位,psql除法保留小数,实现向上取整和向下取整操作_PostgreSQL_数据库...

    在psql中,使用1/4得到的结果是0,因为/它取得是整数,但是有些场景我们是需要保留小数的,还有些场景需要向上取整,或者四舍五入的. 今天就总结下psql保留小数的方法 我用到的方法是类型转换,类似 ...

  2. js向上向下取整_WEB前端之js只保留整数,向上取整,四舍五入,向下取整等函数...

    本文主要向大家介绍了WEB前端的js只保留整数,向上取整,四舍五入,向下取整等函数,通过具体的内容向大家展示,希望对大家学习WEB前端有所帮助. 1.丢弃小数部分,保留整数部分 parseInt(5/ ...

  3. 【PHP】保留两位小数并向上取整

    问题: 一开始我想着数值*100然后向上取整然后再除以一百 $num = 1000 * 0.9634;echo $num;echo '</br>';$res = ceil($num * 1 ...

  4. js只保留整数,向上取整,四舍五入,向下取整等函数

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...

  5. java保留两位小数并向上取整_Java取整,固定保留两位小数,适配负数、金融数字。...

    文/阿敏其人 本文出自阿敏其人简书博客,转载请注明出处和连接. 整数前的0去掉. 小数固定保留两位小数 兼容负数 数字检测 适配金融大数额 核心类 public class BigDecimalStr ...

  6. python3小数向上取整_Python小数取整 向下取整、四舍五入、向上取整【分享】

    本帖子想要达到的效果: 会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现), 设置实体服务规则的字段必然触发条件, 小数类型的 可以实现向下取整.四舍五入.向上取整 功能. 先看界 ...

  7. php函数向上取整数,php四舍五入、精确2-3位小数位及向上取整的方法

    在日常开发中我们经常会有些数值计算,我们可能需要对计算结果进行四舍五入.保留2,3位小数位,向上取整,向下取整等操作. 在php里也给我们提供了四个常用的数值计算的函数供我们使用. round()四舍 ...

  8. sql中向下取整怎么取_Sql 获取向上取整、向下取整、四舍五入取整的实例

    [四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取] SELECT   CEILING(13.15) --MSS ...

  9. oracle向上取整10倍数,Oracle四舍五入,向上取整,向下取整

    用oracle sql对数字进行操作: 取上取整.向下取整.保留N位小数.四舍五入.数字格式化 取整(向下取整): select floor(5.534) from dual; select trun ...

最新文章

  1. 自学python的书籍逐级推荐-近300本Python书籍到底哪家强,用Python告诉你
  2. Matlab中常用希腊字母表查询
  3. 麦肯锡发布《中国互联网公司崛起报告》
  4. CORS 跨域-哪些操作不受同源限制
  5. cratedb导入json文件
  6. 学号 2016-2017-20155329《Java程序设计》课程总结
  7. 网管必须熟悉的几个网络DOS命令
  8. CentOS+NodeJS环境
  9. 总结过去10年的程序员生涯
  10. 蓝桥杯 C语言 试题 算法训练 审美课
  11. ibm刀片服务器 维护,IBM刀片服务器 一刀搞定企业信息化
  12. 浅谈JSP编程的网店管理系统构造
  13. staruml 试用_浅析几款主流的UML建模工具
  14. AUC(Area under Curve Roc曲线下面积)计算方法总结
  15. mybatis 通配符
  16. R语言排序的基本函数
  17. grab显示连不上服务器,grab 暂时链接不到服务器
  18. cad捕捉不到标注线上的点_CAD为什么捕捉不到正在绘制的多段线上的点?
  19. 安全合规/GDPR--15--通用数据保护条例-目录索引
  20. Semantic Object Segmentation in Weakly Labelled Videos via A Self-Paced Fine-Tuning Network

热门文章

  1. 系统应用:Windows的故障恢复控制台应用实例详解
  2. 魅族粉丝对魅族的“爱之深恨之切”
  3. 节能减排论文:热爱我们的家园地球 为学农写嘅作文铺垫
  4. Linux centos redhat7怎么开机自动连接网络
  5. Uncaught TypeError: Cannot set properties of undefined (setting ‘ innerHTML ) 问题
  6. Python pexpect模块的使用及示例代码
  7. ios10 问题总结
  8. 固态硬盘到底有多少种接口
  9. 计算机课代表发言稿,英语课代表的演讲稿4篇
  10. 大蟒蛇python头像_【Python图像】给你的头像+1