c语言如何判断一个数有多少位小数?

如题所述

第1个回答  2013-10-31
当你命令一个变量,并且对该变量赋值.然后向内存条请求分配内存.C语言默认他是float类型的数据.就是单精度浮点数(实数).然后你输出的数据就是默认小数点后4位..还有个双精度浮点数是double..小数点后8位..希望我的回答能够让你满意..
第2个回答  2013-10-31
用do..while循环试试看
int s=0;
double n;
do
{
n*=10;
s++;
}
while (n!=int(n))
printf("%d",s);
大概这个意思,试试看吧。
第3个回答  2013-10-31
计算机保存小数几乎都是近似值,所以我猜这个功能是不容易实现的吧,除非作为字符串输入,我瞎猜的追问

就是想在max7912驱动4段数码管动态显示不确定小数位数的数

本回答被提问者采纳

c语言如何判断一个数有多少位小数?
当你命令一个变量,并且对该变量赋值.然后向内存条请求分配内存.C语言默认他是float类型的数据.就是单精度浮点数(实数).然后你输出的数据就是默认小数点后4位..还有个双精度浮点数是double..小数点后8位..希望我的回答能够让你满意..

用C语言怎样判断一个纯小数有几位,并在数组中输出
{ int count;if( n>0 && n<1) \/\/n是纯小数 while(f){ f-=int(f); \/\/取小数部分 f*=10 ; \/\/右移小数点1位 count++; \/\/记次 } return(count);}int main(){ float num; scanf("%f",&num); printf("小数%f共%d位",num,len_decimal(num));} ...

在C语言中怎样设计算法判断一实数的小数部分有几位
有2种方法 一是在输入时就用字符串数组存储,在这个数组中找到小数点的位置,计算它后面还有几位就行 int i,l char a[100];cin>>a;l=strlen(a);\/\/ for (i=0;i<l;i++)if (a[i]=='.')cout<<l-1-i;二是乘10,看它是不是整数,如果不是,继续乘10,知道它是整数为止 int s=...

c语言中关于如何判断一个浮点小数有几位小数的问题
不断将这个浮点数乘以10,直到 (int)f 能被 10 整除,那么小数的位数就是乘以 10 的次数 - 1(或者判断整数部分和整个浮点数相等)。

在c语言中要怎么来判断整数和小数啊?比如说当在输入浮点型数据的时候我...
intmain(intargc,char*argv[]){ inta=0;doubleb=0;charstr[10]="";scanf("%s",str);\/\/先存成字符串 if(NULL==strchr(str,'.'))\/\/等于NULL是没有找到小数点 { sscanf(str,"%d",&a);\/\/再从字符串格式化成整型 printf("输入的是整型:%d\\n",a);} else { sscanf(str,"%lf",&...

C语言如何判断一个小数的小数点后有几位?
除非是从输入的时候就存成字符串, 然后判断小数点后的位数。一旦存成浮点型变量,不管是double还是float都是近似值,这时就无法准确判断有几位了。

C语言新手求教。求输入一个浮点数,输出这个这数有几位整数几位小数
对于整数部分m,假设一个整数最多100位吧,for(i = 0;i < 100;i++){ if(m\/10^i <1) break;} 则整数部分位数为i;对于小数部分n,假设一个小数最多100位吧,for(i = 0;i < 100;i++){ if(n*(10^i) >1) break;} 则小数部分位数为i;嗯,应该就这样,打字不容易,跪求采纳...

C语言怎么对小数进行判断?
如果是数值的话,那么将原始的数值减去取整后的数值如果大于0就表示有小数 if ((n - (int)n) > 0) return = true; 如果是字符串的话,有两种方法,一种是将字符串转换为数值后用上面说的方法判断,另一种是逐字判断是否包含字符小数点“

C语言如何判断一个小数的小数点后有几位
利用整数的截断效果,将数据小数部分单取出来,乘以10后取整,与原数比较,若不等,则判断大于小数点后1位,依此计算直到相等为止。在取整时进行小数点后1位四舍五入可部分防止二进制浮点数与真实数据间的舍入误差问题。

C语言怎样提取一个数的十位个位百位千位
个位:x%10;十位:x\/10%10;百位:x\/100%10;千位:x\/1000%10。C语言有以下几种取整方法:1、直接赋值给整数变量。如:int i = 2.5; 或 i = (int) 2.5;这种方法采用的是舍去小数部分,可以用于你的问题。2、C\/C++中的整数除法运算符"\/"本身就有取整功能(int \/ int),而下面介绍的...

相似回答