在java中判断两个浮点型(float)数据是否相等的案例
示例代码:
publicstaticvoidmain(String[]args){ floata=10.222222225f; floatb=10.222222229f; System.out.println("使用==判断是否相等:"+(a==b));//超出精度范围 System.out.println("使用Math.abs()判断是否相等:"+(Math.abs(a-b)>=0)); System.out.println("比较a是否大于b:"+(a>b)); System.out.println("比较b是否大于a:"+(a输出的结果:
使用==判断是否相等:true
使用Math.abs()判断是否相等:true
比较a是否大于b:false
比较b是否大于a:false
总结:
一般不会直接用"=="或者"!="对两个浮点数进行比较。
判断两个浮点数floata与floatb是否相等可以根据他们的差的绝对值与0的大小来进行判断。
Math.abs(a-b)>=0或者Math.abs(a-b)<=0则代表这两个浮点数相等
补充知识:JavaDouble浮点数比较大小&相等比较
我就废话不多说了,大家还是直接看代码吧~
publicclassDoubleComparer{ privatestaticfinaldoubleDEFAULT_DELTA=0.000001;//默认比较精度 //比较2个double值是否相等(默认精度) publicstaticbooleanconsiderEqual(doublev1,doublev2){ returnconsiderEqual(v1,v2,DEFAULT_DELTA); } //比较2个double值是否相等(指定精度) publicstaticbooleanconsiderEqual(doublev1,doublev2,doubledelta){ returnDouble.compare(v1,v2)==0||considerZero(v1-v2,delta); } //判断指定double是否为0(默认精度) publicstaticbooleanconsiderZero(doublevalue){ returnconsiderZero(value,DEFAULT_DELTA); } //判断指定double是否为0(指定精度) publicstaticbooleanconsiderZero(doublevalue,doubledelta){ returnMath.abs(value)<=delta; } }以上这篇在java中判断两个浮点型(float)数据是否相等的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。