Java中double类型比较大小或相等的方法 您所在的位置:网站首页 java中比较两个数大小的函数 Java中double类型比较大小或相等的方法

Java中double类型比较大小或相等的方法

2023-11-04 20:23| 来源: 网络整理| 查看: 265

在Java中int类型数据的大小比较可以使用双等号,double类型则不能使用双等号来比较大小,如果使用的话得到的结果将永远是不相等,即使两者的精度是相同的也不可以。下面介绍两种比较double数据是否相等的方法。

第一种方法:转换成字符串

如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接实现比较两个double数据是否相等。注意这种方法只适用于比较精度相同的数据,并且是只用用于比较是否相等的情况下,不能用来判断大小。

第二种方法:使用sun提供的Double.doubleToLongBits()方法

该方法可以将double转换成long型数据,从而可以使double按照long的方法(, ==)判断是否大小和是否相等。

例如:

[java]  view plain  copy Double.doubleToLongBits(0.01) == Double.doubleToLongBits(0.01)   Double.doubleToLongBits(0.02) > Double.doubleToLongBits(0.01)   Double.doubleToLongBits(0.02) =, !=,   0),其中 < op> 是六个比较运算符之一。

指定者: 接口  Comparable 中的  compareTo 参数: val - 将此  BigDecimal 与之比较的  BigDecimal。 返回: 当此  BigDecimal 在数字上小于、等于或大于  val 时,返回 -1、0 或 1。

第四种方法:

两实数相等:两实数的差在允许的范围内认为相等既可认为是相等的。

范围:1e-6(0.000001)

主要代码:

int IsEqual(double a,double b) { return fabs(a-b) < 0.000001; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有