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. elasticSearch6源码分析(4)indices模块
  2. 2020 操作系统第二次习题
  3. 工作393-注册小程序
  4. java word 饼图_[Java教程]echarts标准饼图解读(一)——基本配置demo
  5. 阿里巴巴编码规范java
  6. A - 敌兵布阵 - hdu 1166
  7. 苏州大学计算机学院推免流程,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  8. 编写的第一个键盘软件
  9. 智慧城轨信息技术架构及信息安全规范_会员信息 | 中国铁设:在深圳,我们打造智慧地铁的“最强大脑”...
  10. eplan好看的电缆图表_EPLAN电缆图表模板
  11. csr驱动程序linux版,CSR8510蓝牙驱动下载
  12. 如何发送gmail邮件_如何从R和Gmail发送电子邮件
  13. 苹果手机微信聊天记录删除了怎么恢复?(基础操作版)
  14. 网络安全 (九 缓冲区溢出metasploit)
  15. (净化anaconda)conda install 中途打断出现ERROR REPORT
  16. Fedora修复grub2启动项grub rescue
  17. SuperPoint学习训练纪录 无训练版与带训练版本(一)
  18. (二)51单片机基础——LED
  19. GitHub 高星开源项目今日发起
  20. Python数据分析实战【九】:用Python处理省份城市编码数据【文末源码地址】

热门文章

  1. UAV021(三):九轴传感器(加速度计、陀螺仪和磁力计)校准方法
  2. 【Markdown】Markdown和插入图片的解决方法
  3. ZYNQ初体验千兆以太网的那些事儿(ps端)
  4. mysql主键约束自动增长_MySQL教程45-MySQL主键自增长
  5. linux中 gzip bizp2 xz zip怎么用,解压缩
  6. 从 薛定谔的猫 聊到 Event loop
  7. 小马哥---高仿苹果6sp 主板A9900 6582芯片刷机拆机主板图与开机识别图 此系列版本多
  8. 计算机类专业选考科目要求,新高考报考专业限制 选考科目要求
  9. jquery给单选按钮赋值_jquery循环遍历radio单选按钮,并设置选中状态
  10. UML之深入浅出类图讲义