C语言测一个浮点数的位数长度

测浮点数的位数牵扯到一个精度的问题,用普通的测整形数值的方法不能实现,于是我自己写了一个测浮点数的函数。

#include <stdio.h> //for printf 

int length(double num)
{
    int len=0;
    while(num>0.001)//这里非常重要:控制精确到小数点后第几位(取值影响计数结果)
    {
        num=num/10;
        printf("%d  : %f\n",len,num);
        len++;
    }
    return len;
}


int main(void)
{
    printf("%d",length(12345.678));
    return 0;
}

 

posted @ 2019-09-03 09:54  一文搞懂  阅读(1314)  评论(0编辑  收藏  举报