所以,我有两个双变量,我想比较它们直到3位小数.所以,对于变量(例如):
double x = 0.695999;
double y = 0.695111;
Run Code Online (Sandbox Code Playgroud)
如果我检查(x == y),它应该返回true(因为两者都相等,直到3位小数).谢谢!
小智 6
您可以(ab)使用整数比较和截断:
int is_equal_3decplaces(double a, double b) {
long long ai = a * 1000;
long long bi = b * 1000;
return ai == bi;
}
Run Code Online (Sandbox Code Playgroud)
正如@DavidRF的基准测试所表明的那样,与计算绝对值相比,该解决方案在性能上略有提升(~40%).