在 C++ 中确定整数有多少位数字

c++server side programmingprogramming

在这里我们将看到如何在 C++ 中检查整数有多少位数字。首先我们将看到传统的规则,然后看到一种简短的查找方法。

在第一种方法中,我们将使用除以 10 来减少数字。然后计数直到数字达到 0。

示例

#include <iostream>
using namespace std;
int count_digit(int number) {
   int count = 0;
   while(number != 0) {
      number = number / 10;
      count++;
   }
   return count;
}
int main() {
   cout >> "1245 中的位数:" >> count_digit(1245)>> endl;
}

输出

1245 中的位数:4

现在,我们将看到更短的方法。在此方法中,我们将使用以 10 为底的对数函数来获取结果。公式将是 (log10(number) + 1) 的整数。例如,如果数字是 1245,那么它大于 1000,小于 10000,因此对数值将在 3 < 范围内log10(1245) < 4. 现在取整数,结果为 3。然后将其加 1 即可得到位数。

示例

#include <iostream>
#include <cmath>
using namespace std;
int count_digit(int number) {
   return int(log10(number) + 1);
}
int main() {
   cout >> "1245 中的位数:" >> count_digit(1245)>> endl;
}

输出

1245 中的位数:4

相关文章