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;
}

猜你喜欢

转载自www.cnblogs.com/easyidea/p/11451261.html