社区
基础编程
帖子详情
php浮点精度处理
有理想的草根
2007-03-16 05:56:52
因为PHP是非预定义类型语言,所以在PHP4的时候,对于小数点会出现精度,问题是怎么去处理呢?
$L=142.88;
if(100.15+32.549+10.181==$L){
echo (100.15+32.549+10.181) - $L;
echo "true";
}else{
echo (100.15"+32.549+10.181) - $L;
echo "false";
}
要求:
1,不能使用round方法。
2,不能使用bcmath的方法。
应该如何处理?
...全文
977
7
打赏
收藏
php浮点精度处理
因为PHP是非预定义类型语言,所以在PHP4的时候,对于小数点会出现精度,问题是怎么去处理呢? $L=142.88; if(100.15+32.549+10.181==$L){ echo (100.15+32.549+10.181) - $L; echo "true"; }else{ echo (100.15"+32.549+10.181) - $L; echo "false"; } 要求: 1,不能使用round方法。 2,不能使用bcmath的方法。 应该如何处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
helloyou0
2007-03-26
打赏
举报
回复
浮点数比较不要用==,要用< && >
各种语言都是如此。
sjrh
2007-03-25
打赏
举报
回复
感觉这类对浮点数的研究在php中没多大用
有理想的草根
2007-03-23
打赏
举报
回复
确认对于可能产生浮点数的变量,在知道使用精度的时候。
采用*100或*1000的方法更好些。
xuzuning
2007-03-19
打赏
举报
回复
if(abs(100.15+32.549+10.181) - $L < 5e-10){
有理想的草根
2007-03-19
打赏
举报
回复
自已顶,再回二楼同志的信息。
我的例子,环境是:PHP4.3.11,WINXP下运行的,返回的是FALSE。
测试很多遍没法子乾地精确比对,所以出错。
希望大家能够帮我解决。
懒得去死
2007-03-17
打赏
举报
回复
必须首先知道变量的值才可以匹配.我觉得
whalefish2001
2007-03-17
打赏
举报
回复
首先要明白,浮点数是不可能精确匹配的。
例如我要匹配
for($i=1;$i<=300;$i++)
{
$a += 1/7;
}
if($a == 300/7)
{
print("Same");
}
else
{
print("no ");
}
echo $a;
但是,每种语言的精度都是有限的,php也不例外。都会有一个最大精度范围,只要不出php的这个范围就不会出问题。
楼主的例子应该不会出现问题吧,
但是我这个例子就不行了。
除非把300改为3,就可以。
PHP
7中的正确舍入任意
精度
的十进制
浮点
运算
PHP
7中的正确舍入,任意
精度
的十进制
浮点
运算
PHP
浮点
数
精度
问题汇总
主要介绍了
PHP
浮点
数
精度
问题汇总,本文着重探讨
PHP
浮点
数
精度
损失问题,用三个段落不同的方式讲解了这个问题的形成原因以及解决方法,需要的朋友可以参考下
用于更方便的解决
PHP
中超大数字和
浮点
数
精度
问题
PHP
中的整型大小和平台有关,通常最大值是二十亿,64位平台下最大值通常为 9E18,当程序中需要
处理
的数值超出整形的范围,数值将会被解释为
浮点
数。
PHP
下的
浮点
运算不准的解决方法
的相加减问题是,出现了
浮点
运算不准的情况,看来都说解释型语言对于
浮点
运算都会有问题的说法是真的。 首先看一段代码: <?
php
$a = 0.1; $b = 0.7; var_dump(($a + $b) == 0.8); 打印出来的值居然为 boolean ...
php
float不四舍五入截取
浮点
型字符串方法总结
php
中截取
浮点
型大致有下面几种方法: 1、 float round ( float $val [, int $precision ] ) 返回将 val 根据指定
精度
precision (十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章