社区
Java SE
帖子详情
java如何判断两个浮点数(float类型)是否相等
arielxp
2010-03-09 08:24:00
java如何判断两个浮点数(float类型)是否相等?/
...全文
10830
15
打赏
收藏
java如何判断两个浮点数(float类型)是否相等
java如何判断两个浮点数(float类型)是否相等?/
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
anyin89
2011-01-07
打赏
举报
回复
public static boolean equals(float a ,float b){
if( a<b+0.000001f && a>b-0.000001f)
return true ;
return false ;
}
darxin
2010-03-10
打赏
举报
回复
对于float型的比较,先使用Float.floatToIntBits转换成int类型的值,然后使用==操作符比较int类型的值;
对于double型的比较,先使用Double.doubleToLongBits转换成long类型的值,然后使用==操作符比较long类型的值。
float f1 = 0.9999999f;
float f2 = 1f;
boolean value = (Float.floatToIntBits(f1) == Float.floatToIntBits(f2));
System.out.println(value);
猫儿爷爷
2010-03-09
打赏
举报
回复
==
musiclee
2010-03-09
打赏
举报
回复
float1/float2>1 =1 <1
junmasky
2010-03-09
打赏
举报
回复
基本数据类型用 ==进行判断
yxq08nt
2010-03-09
打赏
举报
回复
精度~
内容太短了~
star598388532
2010-03-09
打赏
举报
回复
春哥说:回帖是一种美德~
soulx
2010-03-09
打赏
举报
回复
涉及到浮点型数据运算的时候,最好用BigDecimal处理,避免出现不必要的麻烦。
woshayawo
2010-03-09
打赏
举报
回复
可以比较两个float值的差,当他们的差的绝对值小于一个极小的数值时,比如说10的-6次方,则认为二者相等!
xllee
2010-03-09
打赏
举报
回复
不能判断,底层是基于2进制的.不同机器解析后的数字不可能(大多数)相同.
progrose
2010-03-09
打赏
举报
回复
浮点数为基本数据类型,直接使用==即可
wzumath
2010-03-09
打赏
举报
回复
具体要看什么样的浮点数比较
0.9999999f==1f //true
0.9f==1f //false
这个和浮点数在计算机中的存储有关,浮点数最高精度为8bit
amt867
2010-03-09
打赏
举报
回复
用“==”就可以了,不用其他的了
jessewizard
2010-03-09
打赏
举报
回复
同楼上。。。。。。。。。。。
wzju64676266
2010-03-09
打赏
举报
回复
用==不就可以了吗?
Java
float
型数据
判断
是否
相等
本文探讨了
Java
中
float
型数据的
相等
性
判断
问题。由于计算机对
浮点数
(
float
或double
类型
)存在精度限制,直接使用==进行比较可能会导致误判。文章提供了一种更可靠的比较方法,通过检查
两个
浮点数
之差的绝对值
是否
小于一个可接受的误差来
判断
它们
是否
相等
。
Java
中
两个
float
判断
相等
、
两个
Float
判断
相等
、C语言中
float
判断
相等
本文对比了
Java
和C语言中
浮点数
的比较方式。在
Java
中,可以直接使用==运算符比较
float
和double的基本
类型
,对于
Float
和Double封装
类型
则需使用equals方法。而在C语言中,由于
浮点数
表示存在误差,通常通过比较
两个
数的差的绝对值
是否
小于一个很小的数来
判断
是否
相等
。
java
判断
float
相等
_在
java
中
判断
两个
浮点型(
float
)数据
是否
相等
的案例
在
Java
中,直接使用'=='
判断
两个
浮点型(
float
)数据可能会因为精度问题导致错误的结果。通常建议使用Math.abs()比较
浮点数
的差值与0的大小来
判断
是否
相等
。例如,当Math.abs(a-b)小于等于预设的精度阈值时,认为两者
相等
。此外,文章还提供了Double
类型
的比较方法,通过设置默认或自定义的比较精度来
判断
两个
double值
是否
相等
。
Java
基础(十七):基础
类型
注意点
本文探讨了在
Java
中使用
float
类型
进行数值比较时的常见误区,指出直接使用==运算符可能导致错误
判断
。文章提供了正确的比较方法,即通过设定一个误差范围来
判断
两个
浮点数
是否
相等
,并警告避免使用构造方法将double值转化为BigDecimal对象,以防止精度丢失。
JAVA
基本数据
类型
Java
有8种基本数据
类型
,包括整数
类型
(byte,short,int,long)、
浮点数
类型
(
float
,double)、字符
类型
(char)和布尔值
类型
(boolean)。
浮点数
在表示金钱时可能会丢失精度,而字符串的
相等
比较需要注意使用`equals`方法来
判断
内容
是否
相同,而非`==`
判断
内存地址。
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章