77问答网
所有问题
C语言 如何判断一个浮点数是不是整数(说法不太严格)
如题所述
举报该问题
推荐答案 推荐于2017-11-25
C语言里
浮点数
和整数的操作和表示都不相同,这种说法很不严格,所以如何判断,就看你自己的定义啦。
我的理解是,如果一个浮点数可以分为整数部分和小数部分,那么你想判断一个浮点数是不是跟它的整数部分基本相同,严格一点说就是误差很小。这样的话,你可以这么写:
double err = 1e-10; //先自己定义误差
x = 2.9999999997;
if (abs(int(x)-x)< err) // 和它整数部分误差的
绝对值
是否小于规定的误差
...
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/IY8YqYqp3.html
其他回答
第1个回答 2013-02-06
假如a是浮点数,再定义一个整型变量int b=a;再定义一个float c=a/b,假如c=1则浮点数a是整数
第2个回答 2014-10-29
#include <math.h>
//a可以是float、double、long double型
if (floor(a) == a)
{
//a是浮点数但里面存的可以看做是整数
}
else
{
//a是浮点数
}
第3个回答 2013-02-06
c语言里数字输入输出的时候都有确定它的类型的啊,不用判断的.
如果你指的是那种直接给你的一个数的话,那是不确定的,比如2.0可以确定它是浮点数,但是2就不确定了,,可能是浮点数,也可能是整形的,看你定义的时候是怎么定义的了
第4个回答 2020-04-10
无论是通过sizeof查看字节数(int和float占用字节数相同),还是做float转换为int然后相除判断是否等于1(int转为float可能尾数丢失),或者是sprintf转化为字符串去检查是否有小数点(int会转换为float,导致有小数点出现),都有问题。
以字符读入数,挨个字符判断,检查到有小数点且所有字符在字符‘0’到‘9’之间,且小数点后不超过6位可以判为float,超过为double,没有小数点为int;只长度为1且字符为‘a’到‘z’或‘A'到'Z'为char,长度超过1为字符串。
1
2
下一页
相似回答
如何判断C语言
的
一个浮点数是不是整数
?
答:
用%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...
c语言怎么判断一个数是不是整数
答:
if(fabs(x-(int)x)<1e-8)printf(“x是一个整数\n”);else printf(“x不是一个整数\n”);方法2:int c=(int)b,d=(int)(b+0.999999)if
(c
==d)printf(“是整数\n”);else printf(“
不是整数
\n”);方法3:float b;...if(b-(int)b==0)printf(“是整数\n”);else printf(“...
c语言怎样判断
输入的
数是不是整数
?
答:
整数是你在编程时定义的数据类型,需要整数时输入整数,需要浮点数时输入浮点数,
并不是根据你输入的值来判断整数,因为1,2都可能是浮点数
。如果你想根据有没有小数点来分别,就选输入字符,再去判断有没有小数点。
c语言
编程中
如何判断一个数是否
为
整数
答:
C语言判断是否为整数,
那么只可能是判断输入的值,或者字符串中的值,是否为整数
。因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,...
C语言中
,
浮点
类型和
整数
类型的区别具体在哪些方面?
答:
1,844,674,407,370,955,161,共有19位数。而
浮点数
中float的取值范围就有39位数3.4E+38。3、精度的区别:
整数
类型是一个准确的数值,而浮点数很多时候是一个看似值。比如float类型就只用确保前面6~7位是准确的。如:float f = 123456789; //8和9这两个数值就可能是不准确的。
C语言
整数
分析?
答:
“x
不是一个整数
\n”);如果这个
数是
n,一般如是if(n==(int)n) printf("It is a integer.\n"); else printf("It is not a integer.\n");判断就可以了。但这不100%准确,因为同一个整数用nt表达和用ble表达实际上是有差别的,所以当
浮点数
与
整型数
相差非常非常小时可能会误判。
怎么
用
c语言判断一个数是否
为
整数(
这个数是开平方出来的)?
答:
因为实型和
整型
变量是不能直接比较的,要做一步类型转换才能比较首先要明确允许的误差是多少。比如一般情况误差的绝对值小于10-8时我们可以认为两个实数是相等的。代码如下 include <stdio.h> include <math.h> main(){ float b,c;c=1;while
(c
>=0) //如果输入小于0,就结束程序 { scanf(...
大家正在搜
浮点数尾数是小数还是整数
整数如何转浮点数
将浮点数转化为整数的方法
浮点数与整数
整数可以用浮点数表示
浮点数转整数
浮点数和整数的区别
整数转换成浮点数
浮点数怎么转换成整数
相关问题
如何判断C语言的一个浮点数是不是整数?
C语言 如何判断一个浮点数是不是整数(说法不太严格)
C语言中怎样判断输入的是整数还是浮点数
C语言中怎么判断输入的数是整数还是浮点数?
C语言判定是整数还是浮点数
各位是如何判断一个浮点数小于,小于等于零的
c语言怎么判断一个数是不是整数
C语言中如何判断一个数是不是整数