【目的】保留两位小数,若有第三位小数,则直接进1

【问题】
某些时候,php中的ceil函数会出现bug,比如说
$a = '4.90';
$b = ceil($a*100);
print_r($b);

理论上输出应该是490,但实际运行的时候输出的是491。

【分析】
这是因为float类型(浮点小数)

很多普通的十进制小数在二进制下并不是有限位的小数,有限的数值位并不能精确地记录数字的值
所以你以为的4.90在
echo sprintf('%10.30f', 4.90*100);
的时候
看到的会是
490.000000000000056843418860808015

【解决方案】
 $total_to_pay_money_x_1000 = (int)($total_to_pay_money * 1000);


 // 乘100,向上取整,再除以100变小数,以保证两位小数
$data['total_to_pay_money'] = ceil($total_to_pay_money_x_1000 / 10) / 100;

PHP ceil函数bug错误的解决方案相关推荐

  1. 2019年【已解决】身份验证错误,要求的函数不正确或登录windows2008服务器提示账号密码错误的解决方案

    已解决:windows2008服务器远程桌面,身份验证错误:要求的函数不正确解决办法 如果您租用了windows服务器,在2018年5月12日以后登录远程桌面时,都有可能被下了一跳,你会遇到以下报错. ...

  2. 大数据常见错误及解决方案

    大数据常见错误及解决方案(转载) 1.用./bin/spark-shell启动spark时遇到异常:java.net.BindException: Can't assign requested add ...

  3. 一分钟详解initUndistortRectifyMap函数bug修复方法

    本文首发于微信公众号「3D视觉工坊」--一分钟详解initUndistortRectifyMap函数bug修复方法 在上一篇文章OpenCV中initUndistortRectifyMap函数存在bu ...

  4. 【转】调试JavaScript 错误的解决方案

    A  使用alert() 和document.write() 方法监视变量值 如果要中断代码的运行,监视变量的值,则使用alert() 方法: 如果需要查看的值很多,则使用document.write ...

  5. 思考题目,仔细检查,外加一个ceil函数

    题目: A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example ...

  6. mysql 载入主体时出错_mysql遇到load data导入文件数据出现1290错误的解决方案

    错误出现情景 在cmd中使用mysql命令,学生信息表添加数据.使用load data方式简单批量导入数据. 准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割 ...

  7. MySQL数据库常见错误及解决方案

    MySQL数据库常见错误及解决方案 1 MySQL无法重启问题解决Warning: World-writable config file '/etc/my.cnf' is ignored 原因 今天帮 ...

  8. Hadoop中的MapReduce框架原理、数据清洗(ETL)、MapReduce开发总结、常见错误及解决方案

    文章目录 13.MapReduce框架原理 13.7 数据清洗(ETL) 13.7.1 需求 13.7.1.1 输入数据 13.7.1.2 期望输出数据 13.7.2 需求分析 13.7.3实现代码 ...

  9. 大数据技术之Hadoop(Hadoop企业优化常见错误及解决方案)

    6.1 MapReduce 跑的慢的原因 6.2 MapReduce优化方法 MapReduce优化方法主要从六个方面考虑:数据输入.Map阶段.Reduce阶段.IO传输.数据倾斜问题和常用的调优参 ...

  10. Oracle PL / SQL – CEIL函数示例

    CEIL函数将指定的数字向上取整,并返回大于或等于指定数字的最小数字. CEIL功能示例 SELECT CEIL(1.2) FROM DUAL; -- output : 2SELECT CEIL(1. ...

最新文章

  1. C语言实现DES,3DES以及基于3DES的文件加密系统
  2. 决策树算法十问及经典面试问题
  3. 围剿Sci-Hub力度升级!全球最大学术出版商:网址你也不要提,不然就发律师函...
  4. java获取服务器上的图片进行拼接
  5. Linux Kernel TCP/IP Stack|Linux网络硬核系列
  6. 理解数据类型与数学运算:求和、温度转换2
  7. 货车运输 vijos 1843 NOIP2013 D1T3 最大生成树,并查集,(伪·LCA)
  8. jmeter学习指南之快速玩转16个逻辑控制器
  9. Swift 拷贝文件夹,实现文件夹内容整体复制
  10. 从中煤陕西公司看政企移动信息化应用
  11. iphonex屏幕出现一条绿线_苹果x出现闪屏乱跳怎么回事
  12. 管理距离 动态协议端口号 协议号
  13. SpringBoot服务端集成腾讯云短信服务
  14. 010项目沟通管理和干系人管理
  15. 现货白银入门技巧之白银K线卖出信号
  16. Linux上svnserve “db/txn-current-lock: Permission denied“ 问题解决办法
  17. 使用pyecharts绘制各个3D图表代码示例整理和分享
  18. 偏振光及其在摄影上的应用
  19. TFmini 常见问题与解答
  20. InnoDB存储引擎——缓冲池

热门文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第2节 Date类_3_DateFormat类SimpleDateFormat类...
  2. CF1137E Train Car Selection(单调栈维护凸函数)
  3. 房产纠纷官司费用是多少
  4. DHTML3(表格动态创建,删除行/列,表格行排序,行颜色交替高亮显示)
  5. 拓端tecdat|SAS,R和Python应对数据管理和分析挑战
  6. 拓端tecdat|R语言用于线性回归的稳健方差估计
  7. 拓端tecdat|python在Scikit-learn中用决策树和随机森林预测NBA获胜者
  8. 20220309讨论
  9. linux硬盘打开ncq,linux下如何开启ncq
  10. conda恢复默认源_误删文件?试试微软免费数据恢复软件「Windows File Recovery」