C语言中如何判断一个数是整数

|C语言判断一个数是否为整数,这是一个很常见但是又经常困扰我的一件事,其实也很简单。对于输入的double a;使用floor(a+0.5) == a来判断即可。

在C语言的库函数中,floor函数的语法如下:
#include <math.h>
double floor( double arg );
功能: 函数返回参数不大于arg的最大整数。 [3]
例如,
x = 6.04;
y = floor( x );
y的值为6.0.
与floor函数对应的是ceil 函数,即上取整函数。

原因如下:floor()是向下取整, 而至于a+0.5,则是因为有时候啊, 当你输入一个整数 1 给一个 double 型变量的时候,存的可能是 0.9999999 , 所以这样四舍五入一下咯,用来判断整数还是没啥问题的。

一个简单的例子:
#include<stdio.h>
#include<math.h>
int main()
{
double a;
scanf("%lf",&a);
if(floor(a + 0.5) == a)
{
printf("%s",“yes”);
}
else
{
printf("%s",“no”);
}
return 0;
}

————————————————
版权声明:本文为CSDN博主「_吟游诗人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32623363/article/details/85335489

发布了67 篇原创文章 · 获赞 54 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/naturly/article/details/104044342