哪种数据结构(或类型)可用于定义数字的数字量?

时间:2015-08-26 01:28:51

标签: c# algorithm math numbers digit

你好其他程序员,

我知道这应该很简单,但我需要定义一个数字的数字量来尝试项目中的所有组合。数字编号不应受用户操作的影响,因为数字量的变化会导致"索引超出范围"错误。 (是的,我正在使用数组)

我们说,我必须使用四位数字。

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(&#34; 0000&#34;)和PadLeft方法都很有用。

谢谢Mateus Coutinho Martino和Blorgbeard。 =)

2 个答案:

答案 0 :(得分:0)

那么,使用String类的 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;

答案 1 :(得分:0)

&#34; 0&#34;自定义格式说明符用作零占位符。 这里有一个小小的想法:

            double numberS;

            numberS = 123;
             Console.WriteLine(numberS.ToString("00000"));
             Console.WriteLine(String.Format("{0:00000}", value));
             // Displays 00123 

您可以查看https://msdn.microsoft.com/en-us/library/0c899ak8.aspx了解更多信息。