C/C++中如何判断一个double类型的变量为零?

如题所述

浮点型不能直接比较是否等于0,需要设置相应的精度,在精度允许范围内都可以认为是0
代码:
#include<stdio.h>
#define jingdu 0.000001
int main(void)
{
double d = 0.00000001;
if(d - 0.0 < jingdu && d - 0.0 > -jingdu)
printf("d = 0");

return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C\/C++中如何判断一个double类型的变量为零?
浮点型不能直接比较是否等于0,需要设置相应的精度,在精度允许范围内都可以认为是0 代码:include<stdio.h> define jingdu 0.000001 int main(void){ double d = 0.00000001;if(d - 0.0 < jingdu && d - 0.0 > -jingdu)printf("d = 0");return 0;} ...

C++怎么判断double类型的变量是不是整数?%1=0可以吗?
首先double型的变量肯定不是整数,而是小数。如果你换一种表达:怎么判断double类型的变量小数部分都是零,那么:include <stdio.h>void main(){double k;scanf("%f",&k);(int)k==k? printf("%f的小数部分是零。",k):printf("%f的小数部分不为零",k);} ...

C++中 如何判断一个浮点数是否为0
判断这个实数的绝对值是否小于一个很小的实数,比如绝对值小于1e-6

c++ 如何判断编辑框中的double中的数据是不是整数
可以取小数点后的字符串,用_ttoi\/atoi等系列函数转换成整数来判断是否为0。

c++中doublevalue(0.0)是什么意思
在c++中,doublevalue(0.0)表示将一个名为doublevalue的变量初始化为0.0的双精度浮点数。c++中doublevalue(0.0)这是一种在定义变量时进行显式初始化的方法。双精度浮点数是一种数据类型,可以存储更大范围的数值,以及更高的精度。在进行数学计算时,双精度浮点数通常比单精度浮点数更加精确。当我们...

急!C++中double 类型的数怎么和0比较大小?
举个例子如double b = 0.123456可能是0.1234561的四舍五入后得到的结果。最后的0.0000001就表示误差范围了。doubel a;if ( a>-0.0000001 && a< 0.000001 )对。而 if( a == 0 )不对!二、如果是某一变量是int类型,就不需要那样了。如 int a;可直接使用 if( a == 0 ) 正确!

C++,用double型变量进行运算,结果应该为0,但是输出是—0.000000,我考虑...
double显示就是带小数的,不会显示0的,自己控制输出格式呀。你的考虑那个叫浮点型的舍入误差

c++怎样判断一个double数是奇数还是偶数
先判断double型的数有没有小数部分 x-(int)x<0.000001 如果上式为真说明x 和x取整相等,即x是一个整数,再判断(int)x%2 是否为0

C++中double类型的0是怎么储存的?
你说的默认首位为1,可能指的是规范化的浮点数的情况,此时该位是省略不存储的。但浮点数还存在非规范化数、0等情况,具体的你最好还是看一看更权威的文档。如下的intel文档,有正负0两种情形。你可以上机验证一下:

如何进行float,bool,int,指针变量与“零值”的比较
if语句是C++\/C语言中最简单、最常用的语句,然而很多程序员用隐含错误的方式写if语句。本节以“与零值比较”为例,展开讨论。4.3.1 布尔变量与零值比较  【规则4-3-1】不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值...

相似回答