Reputation: 399
I want to have numbers with a fixed digit count.
example: 00001, 00198, 48484
I can do like this:
string value;
if (number < 10)
{
value = "0000" + number.ToString();
}
else if (number < 100)
{
value = "000" + number.ToString();
}
else if (number < 1000)
{
...
}
But this is a bit odd. Is there any built in function for my purpose?
Upvotes: 19
Views: 25340
Reputation: 252
Same as @Jojo's answer, but using C# 6's interpolated strings:
var value = $"{number:00000}";
Upvotes: 2
Reputation: 30993
According to the MS reference: http://msdn.microsoft.com/en-us/library/dd260048.aspx
You can pad an integer with leading zeros by using the "D" standard numeric format string together with a precision specifier. You can pad both integer and floating-point numbers with leading zeros by using a custom numeric format string.
So:
To display the integer as a decimal value, call its ToString(String) method, and pass the string "Dn" as the value of the format parameter, where n represents the minimum length of the string.
Code:
string value = number.ToString("D5");
.NET fiddle: http://dotnetfiddle.net/0U9A6N
Upvotes: 23
Reputation: 169
int input_number = Convert.ToInt32(txtinput.Text);
string number_value = input_number.ToString("00000");
I hope that it will solve your problem. It worked well for me in my previous project. Test this code in your development. It should be worked properly without doubt.
Upvotes: 2
Reputation: 40970
Apart from String.Format
, You can also use String.PadLeft
value = number.ToString().PadLeft(5, '0');
Upvotes: -2
Reputation: 7689
If you wish to return 5 digits numbers, you should use the PadLeft() function;
int Value = 101;
char pad = '0';
String sValue = Value.ToString();
sValue = sValue.s.PadLeft(5, char)
In this case, you don't have to test whether to add 1, 2 or 3 zeros, it'll automatically add the number of zeros needed to make it 5 digits number.
Upvotes: 2
Reputation: 19427
You should use the ToString()
method with custom formating - see the docs. In particular the 0
specifier.
Replaces the zero with the corresponding digit if one is present; otherwise, zero appears in the result string.
eg,
value = number.Tostring("00000");
Upvotes: 5