首页 > 其他分享 >Qt 浮点数比较

Qt 浮点数比较

时间:2022-08-30 12:22:40浏览次数:72  
标签:相等 Qt 浮点数 比较 qDebug qFuzzyIsNull qFuzzyCompare

计算机表示浮点数都有一个精度的限制,由于精度的限制会发生部分的截断,使得原本不相等的浮点数就变成了相等

假设 float x = 3.144444445, y = 3.144444448
从数学角度上看,x 和 y 是不相等的,但在 32 位计算机中它们是相等的

所以我们编程中最好不要直接使用 == 或 != 等对浮点数进行相应操作

一般地都使用 > 或 < 比较,然后小于某一个进度即认为它相等

类似以下代码

    if(qAbs(x-y) < 0.000001){
        qDebug() << "x 和 y 相等";
    }

1、qFuzzyCompare 函数

在 Qt 中,提供了 qFuzzyCompare 函数,相等即返回值为真

    if(qFuzzyCompare(x, y)){
        qDebug() << "x 和 y 相等";
    }

2、qFuzzyIsNull 函数

在 Qt 中,提供了 qFuzzyIsNull 函数,与0相等即返回值为真

    if(qFuzzyIsNull (x)){
        qDebug() << "x 和 0 相等";
    }

标签:相等,Qt,浮点数,比较,qDebug,qFuzzyIsNull,qFuzzyCompare
From: https://www.cnblogs.com/lvvou/p/16638854.html

相关文章

  • Aspectj与Spring AOP比较
    1、简介今天有多个可用的AOP库,它们需要能够回答许多问题:是否与用户现有的或新的应用程序兼容?在哪里可以实现AOP?与自己的应用程序集成多快?性能开销是多少?在本......
  • Java正确比较浮点数的方法
    https://www.jb51.net/article/199220.htm 看下面这段代码,将d1和d2两个浮点数进行比较,输出的结果会是什么?123doubled1=.1*3;doubled2=.3;......
  • 编译qt时的gcc版本问题
    编译qt5.12.12源码,用gcc4.8.5可以编译qt源代码,没有编译xcbplugin,应该也能编译成功。(顺便说一句,编译xcb插件时需要libxkbcommon,而其又依赖于libxml2等类库和meson、ninja编......
  • 电机三角形接法、星形接法 比较
    电机三角形接法、星形接法比较角形接线时,三相电机每一个绕组承受线电压(380V),而星形接线时,电机每一承受相电压(220V),220线圈绕组耐压低。在电机功率相同的情况,角接电机的绕......
  • modbus_rtu协议读取监测软件-大气废弃数据实时监控软件pyqt5
      串口发送数据:01030000001845c0串口接收数据:0103304242825d4223f4074113097740f7e08541569aa140f0654240ccedaf4283f0a442......
  • QT画图板
    QT画图板画图板简介一、 问题描述实现了画图板功能,可以使用铅笔自由绘制,以及绘制直线,矩形,椭圆,正方形,圆形等多种图形,还可以支持橡皮擦功能、变换画笔和填充颜色、变换画......
  • QT航空客运订票系统
    QT航空客运订票系统航空客运订票系统设计一、 问题描述实现航空系统客运订票的主要业务活动。例如,浏览和查询航班信息、机票预订和办理退票等。二、 功能描述需求分析......
  • QT项目二:局域网聊天工具
    QT项目二:局域网聊天工具参考《Qt及QtQuick开发实战精解》,该书介绍的很详细,不做过多介绍。末尾有源码下载地址1.main.cpp#include"widget.h" #include<QApplication> i......
  • qt 文件拖拽
    将某类型文件拖拽到qt窗口并执行相应动作。这里以播放某些文件为例。类继承自QWidget,重写函数:1voiddragEnterEvent(QDragEnterEvent*event)override;2vo......
  • 数值比较器实现
      ......