如何判断C语言的一个浮点数是不是整数?

 我来答
金色潜鸟
2018-01-24 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:4980万
展开全部
用%g 格式把 float, double 转字符串,检查字符串里有没有小数点,有就不是,无就是整数。
例如:
double y=23.000;
int i,L,flag;
sprintf(str,"%g",y);
L = strlen(str);
flag = 0;
for (i=0;i<L;i++) {if (str[i]=='.') flag=1;break;}
if (flag == 0) printf("yes int !\n"); else printf("not int !\n");

==========
近似数用 你设定的误差许可,或 #include <float.h> #include <math.h> 用 里面的
FLT_EPSILON,DBL_EPSILON 极小误差判断
if ( fabs(x - (int) x) <= FLT_EPSILON) printf("yes int !\n");
如果 数值太大, (int) x 超出范围,这个方法就不行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式