我有一个数字,我需要转换成一个字符串。首先我用了这个:

Key = i.ToString();

但我意识到它的排序顺序很奇怪所以我需要用0填充它。我怎么能这样做呢?


当前回答

非常简单:

Key = i.ToString("D2");

D代表“十进制数”,2代表要打印的位数。

其他回答

Try:

Key = i.ToString("000000");

不过,就我个人而言,我想看看是否不能直接对整数进行排序,而不是对字符串表示进行排序。

非常简单:

Key = i.ToString("D2");

D代表“十进制数”,2代表要打印的位数。

通常的字符串。Format(" Format ", object)优于object. tostring (" Format ")。因此,

String.Format("{0:00000}", 15);  

更可取于,

Key = i.ToString("000000");

由于还没有人提到这一点,如果你使用的是c#版本6或更高版本(即Visual Studio 2015),那么你可以使用字符串插值来简化代码。所以不用string.Format(…),你可以这样做:

Key = $"{i:D2}";

在这里,我希望我的no限制在4位数字,如果它是1,它应该显示为0001,如果它是11,它应该显示为0011。下面是代码。

        reciptno=1;//Pass only integer.

        string formatted = string.Format("{0:0000}", reciptno);

        TxtRecNo.Text = formatted;//Output=0001..

我实现了这段代码来生成货币收据编号。