计算给定数字或用户输入的数字位数。
答案 0 :(得分:8)
独立于编程语言:
floor(log10(x))+1
其中x是您的号码(> 0)。
如果你想处理0和负数,我会建议这样的事情:
x == 0 ? 1 : floor(log10(abs(x)))+1
答案 1 :(得分:4)
将数字转换为字符串并计算字符数。
答案 2 :(得分:0)
我假设您想知道表示二进制数(例如int)需要多少个10位数字。
double x = something(positive);
double base = 10.0;
double digits = ceil(log(x + 1.0) / log(base));