Today, a topic which is mostly neglected from many of us. Here it is
Concenate strings
+ +=
Format Strings
String.Format("Hello {0}. You are from {1}", "Ben", "Spain");
Format Numbers
String.Format("Reference Code: {0:ddd- d, MM, YYYY}, somedate);
Tue, 15, 09, 1988
Formatting Currency
String.Format("Total: {0:C}", totalamount);
5.000 €
Here is again detail information from microsoft.com
Standard numeric format strings are used to format common numeric types. A standard numeric format string takes the form Axx
, where:
A
is a single alphabetic character called the format specifier. Any numeric format string that contains more than one alphabetic character, including white space, is interpreted as a custom numeric format string. For more information, see Custom Numeric Format Strings.xx
is an optional integer called the precision specifier. The precision specifier ranges from 0 to 99 and affects the number of digits in the result. Note that the precision specifier controls the number of digits in the string representation of a number. It does not round the number itself. To perform a rounding operation, use the Math.Ceiling, Math.Floor, or Math.Round method.When precision specifier controls the number of fractional digits in the result string, the result strings reflect numbers that are rounded away from zero (that is, using MidpointRounding.AwayFromZero).Note
The precision specifier determines the number of digits in the result string. To pad a result string with leading or trailing spaces, use the composite formatting feature and define an alignment component in the format item.
Standard numeric format strings are supported by:
- Some overloads of the
ToString
method of all numeric types. For example, you can supply a numeric format string to the Int32.ToString(String) and Int32.ToString(String, IFormatProvider)methods. - The .NET composite formatting feature, which is used by some
Write
andWriteLine
methods of the Console and StreamWriter classes, the String.Format method, and the StringBuilder.AppendFormat method. The composite format feature allows you to include the string representation of multiple data items in a single string, to specify field width, and to align numbers in a field. For more information, see Composite Formatting. - Interpolated strings in C# and Visual Basic, which provide a simplified syntax when compared to composite format strings.
Tip
You can download the Formatting Utility, an application that enables you to apply format strings to either numeric or date and time values and displays the result string.
The following table describes the standard numeric format specifiers and displays sample output produced by each format specifier. See the Notes section for additional information about using standard numeric format strings, and the Example section for a comprehensive illustration of their use.
Format specifier | Name | Description | Examples |
---|---|---|---|
“C” or “c” | Currency | Result: A currency value.
Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: Defined by NumberFormatInfo.CurrencyDecimalDigits. More information: The Currency (“C”) Format Specifier. |
123.456 (“C”, en-US) -> $123.46
123.456 (“C”, fr-FR) -> 123,46 € 123.456 (“C”, ja-JP) -> ¥123 -123.456 (“C3”, en-US) -> ($123.456) -123.456 (“C3”, fr-FR) -> -123,456 € -123.456 (“C3”, ja-JP) -> -¥123.456 |
“D” or “d” | Decimal | Result: Integer digits with optional negative sign.
Supported by: Integral types only. Precision specifier: Minimum number of digits. Default precision specifier: Minimum number of digits required. More information: The Decimal(“D”) Format Specifier. |
1234 (“D”) -> 1234
-1234 (“D6”) -> -001234 |
“E” or “e” | Exponential (scientific) | Result: Exponential notation.
Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: 6. More information: The Exponential (“E”) Format Specifier. |
1052.0329112756 (“E”, en-US) -> 1.052033E+003
1052.0329112756 (“e”, fr-FR) -> 1,052033e+003 -1052.0329112756 (“e2”, en-US) -> -1.05e+003 -1052.0329112756 (“E2”, fr_FR) -> -1,05E+003 |
“F” or “f” | Fixed-point | Result: Integral and decimal digits with optional negative sign.
Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: Defined by NumberFormatInfo.NumberDecimalDigits. More information: The Fixed-Point (“F”) Format Specifier. |
1234.567 (“F”, en-US) -> 1234.57
1234.567 (“F”, de-DE) -> 1234,57 1234 (“F1”, en-US) -> 1234.0 1234 (“F1”, de-DE) -> 1234,0 -1234.56 (“F4”, en-US) -> -1234.5600 -1234.56 (“F4”, de-DE) -> -1234,5600 |
“G” or “g” | General | Result: The more compact of either fixed-point or scientific notation.
Supported by: All numeric types. Precision specifier: Number of significant digits. Default precision specifier: Depends on numeric type. More information: The General (“G”) Format Specifier. |
-123.456 (“G”, en-US) -> -123.456
-123.456 (“G”, sv-SE) -> -123,456 123.4546 (“G4”, en-US) -> 123.5 123.4546 (“G4”, sv-SE) -> 123,5 -1.234567890e-25 (“G”, en-US) -> -1.23456789E-25 -1.234567890e-25 (“G”, sv-SE) -> -1,23456789E-25 |
“N” or “n” | Number | Result: Integral and decimal digits, group separators, and a decimal separator with optional negative sign.
Supported by: All numeric types. Precision specifier: Desired number of decimal places. Default precision specifier: Defined by NumberFormatInfo.NumberDecimalDigits. More information: The Numeric (“N”) Format Specifier. |
1234.567 (“N”, en-US) -> 1,234.57
1234.567 (“N”, ru-RU) -> 1 234,57 1234 (“N1”, en-US) -> 1,234.0 1234 (“N1”, ru-RU) -> 1 234,0 -1234.56 (“N3”, en-US) -> -1,234.560 -1234.56 (“N3”, ru-RU) -> -1 234,560 |
“P” or “p” | Percent | Result: Number multiplied by 100 and displayed with a percent symbol.
Supported by: All numeric types. Precision specifier: Desired number of decimal places. Default precision specifier: Defined byNumberFormatInfo.PercentDecimalDigits. More information: The Percent (“P”) Format Specifier. |
1 (“P”, en-US) -> 100.00 %
1 (“P”, fr-FR) -> 100,00 % -0.39678 (“P1”, en-US) -> -39.7 % -0.39678 (“P1”, fr-FR) -> -39,7 % |
“R” or “r” | Round-trip | Result: A string that can round-trip to an identical number.
Supported by: Single, Double, and BigInteger. Note: Recommended for the BigInteger type only. For Double types, use “G17”; for Singletypes, use “G9”. More information: The Round-trip (“R”) Format Specifier. |
123456789.12345678 (“R”) -> 123456789.12345678
-1234567890.12345678 (“R”) -> -1234567890.1234567 |
“X” or “x” | Hexadecimal | Result: A hexadecimal string.
Supported by: Integral types only. Precision specifier: Number of digits in the result string. More information: The HexaDecimal (“X”) Format Specifier. |
255 (“X”) -> FF
-1 (“x”) -> ff 255 (“x4”) -> 00ff -1 (“X4”) -> 00FF |
Any other single character | Unknown specifier | Result: Throws a FormatException at run time. |