判断两个float或double是否相等

简介: double a, b; ... if(a==b) ...不用考虑初始化的问题哈,此处不是说明那个问题。不能直接 if(a==b)而是要equal(a,b)equal 函数自己写public boolean equal(double a, double b) { if ((a- b> -0.00
    double a, b;
    ...
    if(a==b)
    ...

不用考虑初始化的问题哈,此处不是说明那个问题。

不能直接 if(a==b)

而是要equal(a,b)

equal 函数自己写

public boolean equal(double a, double b) {
        if ((a- b> -0.000001) && (a- b) < 0.000001)
            return true;
        else
            return false;
    }

计算机判断两个数相等,将判断所有的二进制位是否相等,当所有的位都相等时,两个数才相等,绝对的相等。

但人们对小数来说,保留小数点后几位就足够了,因此两个小数的差在可接受的精度范围内就可以被认为是相等的。

    /* a == b*/
    int dequals(double a, double b) {
        return fabs(a-b) < 0.000001;
    }

此时,当a>b时,a有可能等于b,因此判断大小关系时,先判断a是否等于b。

目录
相关文章
|
4月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
59 0
|
1月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
37 1
|
6月前
|
存储 C语言
C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
35 1
|
5月前
|
存储 C语言
计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
44 1
|
5月前
|
Java
float与double精度丢失问题
float与double精度丢失问题
|
6月前
float和double的区别
float和double的区别
57 0
|
7月前
|
存储 Java 编译器
Java语言之float、double内存存储方式
Java语言之float、double内存存储方式
145 0
|
7月前
|
存储 关系型数据库 MySQL
【必看】MySQL中float、double、decimal三个浮点数据类型的区别与总结!
你还不知道MySQL中float、double、decimal三个浮点类型的区别吗?快来看看吧!
101 0
【必看】MySQL中float、double、decimal三个浮点数据类型的区别与总结!
|
8月前
|
存储 Java
Java 最常见的面试题:float 和 double 的区别是什么?
Java 最常见的面试题:float 和 double 的区别是什么?
|
8月前
对int,char,float,double进行求和操作
对int,char,float,double进行求和操作
101 0