C编程:如何检查给定的数字是否完全是数字,不是更多/不更少?

时间:2015-11-12 12:39:27

标签: c

C编程:如何检查给定的数字是否完全是数字,不是更多/不能更少?

我还是C编程新手。对不起,如果这是一个容易提出的问题。

3 个答案:

答案 0 :(得分:2)

只需检查数字的范围:

int x = 4125; //this is just an example value ...
if( (x >= 1000 && x <= 9999) || (x >= -9999 && x <= -1000) ){
    //is valid
}else{
    //is not valid
}

答案 1 :(得分:0)

这是一个执行该功能的功能

#include <stdio.h>

int f(int n);

int main(void)
{
    int n = 1234;
    int num_of_digits = f(n);
    if( num_of_digits == 4 )
    {
        printf("%d\n",num_of_digits);
    }
}

int f(int n)
{
    int num_of_digits = 0;
    while( n )
    {
        n /= 10;
        num_of_digits++;
    }
    return num_of_digits;
}

答案 2 :(得分:-1)

如果你真的想要4位数,你可以使用Tom Mekken给出的方法。 但是,如果您只想检查整数的位数,您可以始终使用此方法:

floor (log10 (abs (x))) + 1

请记住,当数字为零时它不会起作用,所以你必须先检查它。