如何在 C++ 中比较 float 和 double?
比较浮点数和 double 变量取决于你的最终目标是什么。如果想要一个可运行的函数,无需过多深入了解详情,并且一些不准确的计算不会造成问题,可以使用以下函数 −
示例
#include<iostream>
using namespace std;
// Define the error that you can tolerate
#define EPSILON 0.000001
bool areSame(double a, double b) {
return fabs(a - b) < EPSILON;
}
int main() {
double a = 1.005;
double b = 1.006;
cout << areSame(a, a);
cout << areSame(a, b);
}输出
将给出以下输出 −
1 0
此函数采用你的容错度,并检查阈值是否大于你要比较的数字之间的差异。如果你需要更精确的结果,最好阅读这篇优秀的博客文章 :https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP