0
点赞
收藏
分享

微信扫一扫

比较double和float数值是否相等

无聊到学习 2022-04-30 阅读 40
开发语言

在项目中,经常会遇到,比较double和float数值是否相等?

正常情况下,我们会直接判断两个变量是否相等,比如“A==B”

但是当A和B中是double和float数值时候,该方式不可取;

比如:以下代码提供一个接口bisSameVal,比较double和float两个数值是否相等;

当我们定义个double和float数值并且赋值233.23时,bisSameVal结果返回的是false;

#include "stdafx.h"
#include <stdio.h>

bool bisSameVal( double A ,float B )
{
	if(A == B)
	{
		return true;
	}
	else	
	{
		return false;
	}
	
}

void main()
{
	double a = 233.23;
	float b = 233.23;

	printf("Result:%d\n",bisSameVal(a, b));
	return;
}


根据经验,为什么a和b两个数值不同,同样赋值的都是233.23;

但程序运行时,我们通过监视器,可以看到a和b的值,并不相等;

举报

相关推荐

0 条评论