PHP浮点数运算的问题解决
来源:互联网 发布:摄影作品网站 知乎 编辑:程序博客网 时间:2024/05/21 09:43
问题描述:
有用到这样段代码,就是两个浮点数相减
$this->discount = floatval($this->discount - $waybill['total_price']);
其中$this->discount
和$waybill['total_price']
都是浮点数,值为float(202.6)
,理论上应该得到0,程序得到的结果却是float(5.6843418860808E-14)
问题原因
这是由于PHP的浮点数精度计算问题,在PHP计算过程中其实有隐藏的小数。
解决方案
浮点数都用round()
函数取相同位数的小数,然后再进行计算,如下:
$this->discount = floatval(round($this->discount,4) - round($waybill['total_price'],4));
0 0
- PHP浮点数运算的问题解决
- php 浮点数运算
- php浮点数精确运算
- 浮点数的运算
- 浮点数的运算
- php让你头疼的浮点数运算
- Php: BCMath php浮点数精确运算
- 浮点数间的运算
- 浮点数的减法运算
- PHP对于浮点数运算问题
- 浮点数的输入以及浮点数运算
- php浮点数的比较
- php浮点数的比较
- php浮点数的问题
- PHP浮点数的精度
- 浮点数运算的的规格化
- java中浮点数的高精度运算
- 浮点数的加减乘除运算步骤
- brew和brew cask 转自知乎
- opencv在VS2010中的配置
- 汉诺塔问题
- 编写Makefile文件常用的三个变量
- This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery
- PHP浮点数运算的问题解决
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- eclispe android导入工程出现The project was not built since its build path is incomplete. Cannot find...
- Android动画总结系列(6)——矢量图形与矢量动画
- 【CodeForces】632B - Alice, Bob, Two Teams(模拟)
- jtsl标签库使用记录一
- ReentrantLock实现原理深入探究
- 清除Mysql所有表
- 剑指offer面试题 java解答1-5