Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
The "0" custom format specifier in C#
The "0" custom format specifier in C# is a zero placeholder that ensures a digit appears in each specified position. If the value being formatted has a digit in that position, it displays the digit; otherwise, it displays a zero.
This format specifier is particularly useful for creating fixed-width numeric displays, padding numbers with leading zeros, or ensuring decimal places are always shown.
Syntax
Following is the syntax for using the "0" custom format specifier −
number.ToString("000") // For integers with leading zeros
number.ToString("0.00") // For decimals with trailing zeros
String.Format("{0:000}", number) // Using String.Format
How It Works
The "0" specifier works as a placeholder that guarantees a digit will appear in each position:
If a digit exists in that position, it displays the actual digit
If no digit exists, it displays a zero
It works for both integer and decimal portions of numbers
Using "0" for Leading Zeros
The following example demonstrates padding integers with leading zeros −
using System;
class Demo {
static void Main() {
double d = 292;
Console.WriteLine(d.ToString("00000"));
Console.WriteLine(String.Format("{0:00000}", d));
int number = 42;
Console.WriteLine(number.ToString("000"));
Console.WriteLine(number.ToString("0000"));
}
}
The output of the above code is −
00292 00292 042 0042
Using "0" for Decimal Places
The following example shows how to ensure decimal places are always displayed −
using System;
using System.Globalization;
class Demo {
static void Main() {
double d1 = 3.5;
double d2 = 15;
double d3 = 0.123;
Console.WriteLine(d1.ToString("0.00", CultureInfo.InvariantCulture));
Console.WriteLine(d2.ToString("0.000", CultureInfo.InvariantCulture));
Console.WriteLine(d3.ToString("0.00", CultureInfo.InvariantCulture));
}
}
The output of the above code is −
3.50 15.000 0.12
Combined Integer and Decimal Formatting
You can combine both integer and decimal zero placeholders for complete number formatting −
using System;
using System.Globalization;
class Demo {
static void Main() {
double[] numbers = { 1.23, 12.345, 0.5, 1000.1 };
foreach (double num in numbers) {
Console.WriteLine(num.ToString("0000.00", CultureInfo.InvariantCulture));
}
}
}
The output of the above code is −
0001.23 0012.35 0000.50 1000.10
Conclusion
The "0" custom format specifier in C# ensures that digits appear in specified positions by displaying actual digits when available or zeros as placeholders. This is essential for creating consistent numeric formatting with fixed widths, leading zeros for integers, and trailing zeros for decimal values.
