Skip to main content

String Formatting

Introduction to String Formatting in C#

In C#, string formatting is a way to prepare and present data as a string. This feature is particularly useful when you need to display information in a specific way or when you need to combine text and variables. This tutorial will guide you through the process of understanding and applying string formatting in C#.

What is String Formatting?

String formatting involves creating a string with placeholders and then replacing those placeholders with actual values. The string.Format method in C# is commonly used for string formatting.

Consider this simple example:

string name = "John";
string welcomeMessage = string.Format("Hello, {0}", name);
Console.WriteLine(welcomeMessage); // Outputs: Hello, John

In the example above, {0} is a placeholder that gets replaced by the value of name.

Numeric Formatting

C# provides a myriad of ways to format numeric data. Here are a few examples:

  1. Decimal places: You can specify the number of decimal places using the F format specifier. For example:
double pi = 3.14159;
string s = string.Format("{0:F2}", pi);
Console.WriteLine(s); // Outputs: 3.14
  1. Currency: Use the C format specifier to format a number as currency. For example:
decimal price = 123.45M;
string s = string.Format("{0:C}", price);
Console.WriteLine(s); // Outputs: $123.45
  1. Percentage: The P format specifier can be used to format a number as a percentage. For example:
double fraction = 0.25;
string s = string.Format("{0:P}", fraction);
Console.WriteLine(s); // Outputs: 25.00%

Date and Time Formatting

C# also provides numerous ways to format date and time values. Here are a few examples:

  1. Long date: The D format specifier can be used to format a date as a long date. For example:
DateTime now = DateTime.Now;
string s = string.Format("{0:D}", now);
Console.WriteLine(s); // Outputs: Friday, April 9, 2021
  1. Short time: The t format specifier can be used to format a time as a short time. For example:
DateTime now = DateTime.Now;
string s = string.Format("{0:t}", now);
Console.WriteLine(s); // Outputs: 6:30 PM
  1. Custom date and time: You can also create custom date and time formats. For example:
DateTime now = DateTime.Now;
string s = string.Format("{0:dd/MM/yyyy HH:mm:ss}", now);
Console.WriteLine(s); // Outputs: 09/04/2021 18:30:45

Conclusion

String formatting in C# is a powerful feature that allows you to control how data is presented as a string. The string.Format method is versatile and supports a wide range of format specifiers for different types of data. Understanding how to use this feature effectively can significantly improve the readability of your output and ensure your data is presented in a way that meets your needs.