我想找到前面带零的整数的长度
int intLength(int num)
{
int l = 0;
while(num>0)
{
num = num/10;
l++;
}
return l;
}
答案 0 :(得分:6)
整数没有前导零,它们具有固定大小。如果要显示任何这些值,您会看到所有前导零都被删除,因为首先无法知道它们是否在那里。
此外,带前导零的整数文字是八进制常量,而不是十进制常量。您会看到0100
显示为64,而不是100。
如果前导零对您的应用程序很重要,则需要将值保留为字符串而不是整数。
答案 1 :(得分:2)
您正在混合数字的字符串表示及其数字表示。对于01,这可以写得和1一样。另外,在C ++中,一个零的数字前缀使它成为八进制,所以你的最后一个例子0100在基数10中是64,因此它返回2.如果你想要一个字符串的长度表示数字,看看将数字转换为字符串。
答案 2 :(得分:1)
整数不会以前面的零存储,因此无法执行此操作。但是,您可以计算int的字符串表示形式中前面的零个数。