Get number of digits of a number

前端 未结 9 1062
挽巷
挽巷 2021-01-07 11:39

I have a number like this: int num = 36729; and I want to get the number of digits that compose the number (in this case 5 digits).

How can I do this?

9条回答
  •  孤城傲影
    2021-01-07 12:36

    1. The number of digits of an integer n in any base is trivially obtained by dividing until you're done:
    unsigned int number_of_digits = 0;
    do {
        ++number_of_digits; 
        n /= base;
    } while (n);
    
    1. Not necessarily the most efficient, but one of the shortest and most readable using C++: std::to_string(num).length()

    2. And there is a much better way to do it:

    #include
    ...
    int size = trunc(log10(num)) + 1
    ...
    

提交回复
热议问题