各位程序员好,
我知道这应该很简单,但是我需要定义一个数字的位数,以便在一个项目中尝试所有的组合。数字不应受到用户操作的影响,因为数字量的更改会导致“索引超出范围”错误(是的,我正在使用数组进行此操作)
我得用四位数。

int Nmr=1000;
Nmr--;
Console.Write(Nmr);// The output will be 999 but I need 0999

使用字符串类型和if语句可能导致另一种解决方案…
int Nmr=1000;
Nmr--;
string number=Nmr.ToString();
if (Nmr<1000) number="0"+number;
if (Nmr<100) number="00"+number;
if (Nmr<10) number="000"+number;
Console.Write(Nmr); //That gives me 0999

但是,这给了我复杂性和不必要的时间损失,我不想遇到这种情况。我甚至没有谈论更大的价值观。
那么,你有什么建议?
编辑:ToString(“0000”)和PadLeft方法都很有用。
谢谢马特乌斯·库蒂尼奥·马蒂诺和布洛格比尔德=)

最佳答案

好吧,用字符串类的PadLeft方法。。。

int Nmr=1000;
Nmr--;
Console.Write(Nmr.ToString().PadLeft(4,'0')); //That gives you ever four digits.

或者如果你更愿意解释…
int Nmr=1000;
Nmr--;
String number = Nmr.ToString();
Console.Write(number.PadLeft(4,'0')); // four digits again;

09-27 11:13