在C++中查找带零的整数的长度?

Nak*_*kib 1 c++ integer

我想找到前面带零的整数的长度

int intLength(int num)
{
    int l = 0;
    while(num>0)
    {
        num = num/10;
        l++;
    }
    return l;
}
Run Code Online (Sandbox Code Playgroud)
  • intLength(1)==> 1
  • intLength(0)==> 0预期:1
  • intLength(10)==> 2
  • intLength(100)==> 3
  • intLength(01)==> 1预期:2
  • intLength(0100)==> 2预期:4

Mar*_*som 6

整数没有前导零,它们具有固定大小.如果要显示任何这些值,您会看到所有前导零都被删除,因为没有办法知道它们首先存在于那里.

此外,带前导零的整数文字是八进制常量,而不是十进制常量.你会看到0100显示为64,而不是100.

如果前导零对应用程序很重要,则需要将值保留为字符串而不是整数.