C语言-----如何用C语言判断一个数是不是整数

C语言-----如何用C语言判断一个数是不是整数

如果用实型变量x接收一个数或通过计算得到一个数后要知道它是不是整数,没有很好的办法.因为实数在计算机中不能准确的存储,所以不能直接判断两个实型量是否相等,(实型和整形是不能直接比较的,要做一步类型转换才能比较)首先要明确能允许的误差是多少.比如,一般情况当误差的绝对值小于10-8时我们可以认为两个实数是相等的.

第一种方法:

#include

#include

float x;

...

if(fabs(x-(int)x)<1e-8) printf(“x是一个整数\n”);

else printf(“x不是一个整数\n”);

第二种方法 :

int c = (int)b,d = (int)(b + 0.999999)

if( c == d ) printf(“是整数\n”);

else

printf(“不是整数\n”);

第三种方法 :

float b;

...

if(b - (int)b == 0)

printf(“是整数\n”);

else

printf(“不是整数\n”);

第四种方法 :

float b;

...

if( b != (int)b )

printf(“不是整数\n”);

else

printf(“是整数\n”);

相关推荐

微鲸电视怎么样看电视直播,4种安装直播软件方法
365需要什么系统

微鲸电视怎么样看电视直播,4种安装直播软件方法

📅 09-17 👁️ 3276
开光和加持有什么区别?
365需要什么系统

开光和加持有什么区别?

📅 09-08 👁️ 8172
俄驻联合国大使:俄在安理会的世界杯使命将传给瑞典
在哪个应用商店能下载365

俄驻联合国大使:俄在安理会的世界杯使命将传给瑞典

📅 08-06 👁️ 4392
苹果iPhone 6屏幕碎了修理多少钱?价格介绍
在哪个应用商店能下载365

苹果iPhone 6屏幕碎了修理多少钱?价格介绍

📅 08-04 👁️ 9025
变成男孩子的我如何攻略男神
365bet.com娱乐场

变成男孩子的我如何攻略男神

📅 08-19 👁️ 1676
移动路由器怎么改密码 移动无线WIFI密码修改方法【详解】
《阴阳师》源博雅技能怎么升级 源博雅技能点获取方式汇总
在哪个应用商店能下载365

《阴阳师》源博雅技能怎么升级 源博雅技能点获取方式汇总

📅 08-14 👁️ 731
专业打字问答社区- 关于【阿珊打字通数字】知识解读
365需要什么系统

专业打字问答社区- 关于【阿珊打字通数字】知识解读

📅 07-01 👁️ 7954
虚拟币钱包哪个好用?虚拟币钱包app排行榜TOP10
365需要什么系统

虚拟币钱包哪个好用?虚拟币钱包app排行榜TOP10

📅 06-27 👁️ 9802