Ray
Ray

Reputation: 12441

C# int ToString format on 2 char int?

How do I use the ToString method on an integer to display a 2-char

int i = 1; i.ToString() -> "01" instead of "1"

Thanks.

Upvotes: 38

Views: 68775

Answers (6)

Patrick McDonald
Patrick McDonald

Reputation: 65421

You can use i.ToString("D2") or i.ToString("00")

See Standard Numeric Format Strings and Custom Numeric Format Strings on Microsoft Docs for more details

Upvotes: 84

Steve Homayooni
Steve Homayooni

Reputation: 135

In C# 6 you could write:

var i = 1;
var stringI = $"{i:D2}";

$ - string interpolation

Upvotes: 5

Mayer Spitz
Mayer Spitz

Reputation: 2525

In any case you wanna check first if it's only 1 number, use Regular Expression:

Regex OneNumber = new Regex("^[0-9]$");
OneNumber.Replace(i.ToString(), "0" + i)

Upvotes: 0

JaredPar
JaredPar

Reputation: 754565

In order to ensure at least 2 digits are displayed use the "00" format string.

i.ToString("00");

Here is a handy reference guide for all of the different ways numeric strings can be formatted

Upvotes: 7

rerun
rerun

Reputation: 25495

i.ToString("00") Take a look at this for more rules.

Upvotes: 3

Chris Trombley
Chris Trombley

Reputation: 2322

This should do it:

String.Format("{0:00}",i);

Here's a link to an msdn article on using custom formatting strings: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

Upvotes: 16

Related Questions