判断两个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.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。

时间: 2024-12-07 20:41:21

判断两个float或double是否相等的相关文章

基于C++浮点数(float、double)类型数据比较与转换的详解_C 语言

浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法.所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入.但是这种设计的好处是可以在固定的长度上存储更大范围的数.1.将字符串转换为float.double过程存在精度损失,只是float.double各自损失的精度不相同而已std::string str="8.2&

java 判断两个文件是否相同

使用Java 如何判断两个文件是否相同呢? 我的做法是 (1)先比较两个文件内容的长度: (2)在长度相同的情况下,再比较两个文件的MD5值. [create md5]按钮用于生成source file的文件内容长度和MD5值. 运行主类:CheckSameApp  Java代码   package com.hw.main;      import java.awt.BorderLayout;   import java.awt.Container;   import java.awt.Dime

C#中对于float,double,decimal的误解

原文:C#中对于float,double,decimal的误解 一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 如果我们在代码中写一个12.3,编译器会自动认为这个数是个double型.所以如果我们想指定12.3为float类型,那么你必须在数字后面加上F/f: float f = 12.3F; decimal类型 作为补充,decimal类型用来表示高精度的浮点数 对decimal.float.double错误的认识

Java中float,double为什么会丢失精度。

Effective Java Item 48: Avoid float and double if exact answers are required  对于精确计算不提倡使用float,double,因为会丢失精度,这是为什么呢? 让我细细说来 1. 什么是浮点数? 表示一个数字如100.2,可以是Fixed point也就是100.2,也可以是Floating point(也就是科学计数法scientific notation)1.002 ×  102.通常是以第一个非零数字作为小数点前的

源码:判断两种颜色值是否为相似颜色

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312"> <head> <head&g

Delphi中判断两个时间差是否在一个指定范围内

WithinPastYears.WithinPastMonths.WithinPastWeeks.WithinPastDays ... 判断两个时间差是否在一个指定范围内 DateUtils.WithinPastYears(); DateUtils.WithinPastMonths(); DateUtils.WithinPastWeeks(); DateUtils.WithinPastDays(); DateUtils.WithinPastHours(); DateUtils.WithinPas

哈希法判断两个有根树是否同构

Description Some major cities have subway systems in the form of a tree, i.e. between any pair of stations, there is one and only one way of going by subway. Moreover, most of these cities have a unique central station. Imagine you are a tourist in o

php判断两个日期之间相差多少个月份的方法

  本文实例讲述了php判断两个日期之间相差多少个月份的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * @author injection(injection.mail@gmail.com) * @var date1日期1 * @var date2 日期2 * @var tags 年月日之间的分隔符标记,默认为'-' * @return 相差的月份数量 * @example: $date1 = "

C# 判断两张图片是否一致的快速方法

 这篇文章主要介绍了C# 判断两张图片是否一致的快速方法,需要的朋友可以参考下 代码如下: #region 判断图片是否一致  /// <summary>  /// 判断图片是否一致  /// </summary>  /// <param name="img">图片一</param>  /// <param name="bmp">图片二</param>  /// <returns>是