浮点数的表示是不精确的,不能直接比较两个数是否完全相等,不可将浮点变量用“==”或“!=”与任何数字比较。
Float a = 16.5f;
Float b = 16.5f;String c = "1";
String d = "1";
System.out.println("a.equals(b):" + a.equals(b));
System.out.println("a.compareTo(b):" + a.compareTo(b));
System.out.println("c == d:" + (c == d));
System.out.println("c.equals(d):" + c.equals(d));
结果为:
a == b:false
a.equals(b):true
a.compareTo(b):0
c == d:true
c.equals(d):true
所以,比较两个Float的值 可以用comparetTo(), 返回值 0 (表示相等),1(表示大于) 和 -1(表示小于)
本文探讨了在Java中如何正确地比较浮点数和字符串。对于浮点数,由于精度损失,直接使用==进行比较可能导致错误结果。推荐使用Float类的compareTo方法来进行数值比较。而对于字符串,使用equals方法来判断内容的一致性更为准确。
2138

被折叠的 条评论
为什么被折叠?



