在 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