PHP浮点数运算的问题
$a = 0.1;
$b = 0.7;
$c = 0.5;
$d = 0.9;
if ($a + $b == 0.8) {echo '==';} else {echo '!=';} // !=
if ($a + $c == 0.6) {echo '==';} else {echo '!=';} // ==
if ($a + $d == 1) {echo '==';} else {echo '!=';} // ==
if ($b + $c == 1.2) {echo '==';} else {echo '!=';} // ==
防坑攻略
1) 通过乘100的方式转化为整数加减,然后在除以100转化回来……
2) 使用number_format转化成字符串,然后在使用(float)强转回来……
3) php提供了高精度计算的函数库,实际上就是为了解决这个浮点数计算问题而生的。
4)任意精度数学函数
对于任意精度的数学,PHP 提供了支持用字符串表示的任意大小和精度的数字的二进制计算。
BCMath:BC 是 Binary Calculator 的缩写。
官方手册:http://php.net/manual/zh/book.bc.php
大家在使用前,请先确认是否已安装 bcmath
参考地址: https://www.cnblogs.com/hld123/p/14848530.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2018-07-18 PHP curl 请求中添加 Authorization token