2012-11-28 18 views
1

簡單,整數TRIMS開始零

class Program 
{ 
    static void Main(string [ ] args) 
    { 
     int i = 010; 

     Console.WriteLine(i); 

     Console.ReadKey(); 
    } 
} 

輸出:

如何停止修剪前導零?
小數點具有相同的輸出,字符串也不是最好的解決方案。

+6

你讓數據與表示混淆。值(數據)是'10',而不是'010',而不是'00000000010'。但表示形式可以是任何形式,具體取決於你如何格式化。這將是一個字符串。 – zerkms

+0

我相信你知道010不是一個數字,10是,因此010除了作爲一系列數字之外沒有任何價值。 –

+0

然後,如何將其格式化爲顯示原始值,它們是數據庫上的條形碼值,然後字符串不是用於比較的最佳優化解決方案! –

回答

1

您需要將其存儲在字符串中。然後,當需要計算時,可以將其轉換回整數,然後在完成使用所需格式後將其轉換回字符串。

+0

我在MSSQL數據庫上使用它,字符串不是最佳優化解決方案! –

+0

@AhmedGhoneim - 整數和其他數值類型不存儲尾隨零。期。不在C#中,不在MSSQL中。尾隨零是表示爲字符串的人爲因素。所以你的實現將總是由一個字符串組成。該實施的細節取決於你的情況。 –

+0

@SystemDown我認爲你的意思是「前導零」。 – phoog

3

數字類型只跟蹤數字的二進制表示,而不是用於初始化它們的字符串表示形式。

當你輸出它,如果你想要的數字恆定的數量可以格式化:

Console.WriteLine(i.ToString("D8")); 
0
Console.WriteLine("{0:D8}", i); 

將打印的「i」包含至少8位。任何缺失的數字將成爲前導零。