簡體   English   中英

在C ++中找到具有零的整數的長度?

[英]Finding Length of an integer with zeros in C++?

我想找到帶零的整數的長度

int intLength(int num)
{
    int l = 0;
    while(num>0)
    {
        num = num/10;
        l++;
    }
    return l;
}
  • intLength(1)==> 1
  • intLength(0)==> 0預期值:1
  • intLength(10)==> 2
  • intLength(100)==> 3
  • intLength(01)==> 1預期值:2
  • intLength(0100)==> 2預期值:4

整數沒有前導零,它們的大小是固定的。 如果要顯示這些值中的任何一個,您將看到所有前導零都被刪除了,因為無法知道它們居於首位。

此外,帶前導零的整數文字是一個八進制常數,而不是十進制數。 您會看到0100顯示為64,而不是100。

如果前導零對您的應用程序很重要,則需要將值保留為字符串而不是整數。

您正在混合一個數字的字符串表示形式及其數字表示形式。 對於01,它的寫法與1一樣。此外,在C ++中,將數字加0使其變為八進制,因此最后一個示例0100是以10為底的64,因此它返回2。如果您想要字符串的長度數字的表示形式,請看將數字轉換為字符串。

整數不會與前面的零一起存儲,因此無法執行此操作。 但是,您可以計算int的字符串表示形式中的前零個數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM