Академический Документы
Профессиональный Документы
Культура Документы
string.Format("{0:C3}", 2)
2.000
string.Format("{0:D3}", 2)
002
1.20E+001
1.20E+001
string.Format("{0:G}", 2)
string.Format("{0:X000}", 12)
Strings
Therereally isn't any formatting within a strong, beyond it's alignment.Alignment works for any argument being printed in a String.Format call.
Sample
Generates
String.Format("->{1,10}<-", "Hello");
-> Hello<-
String.Format("->{1,-10}<-", "Hello");
->Hello <-
Numbers
Currency
{0:c}
1.42
-12,400
Scientific
{0:e}
1.420000e+000
-1.240000e+004
Fixed point
{0:f}
1.42
-12400.00
General
{0:g}
1.42
-12400
{0:n}
1.42
-12,400
1500.4200
Digit placeholder
{0:(#).##}
(1500).42
Decimal point
{0:0.0}
1500.4
Group separator
see below
Thegroup separator is especially useful for formatting currency valueswhich require that negative values be enclosed in parentheses. Thiscurrency formatting example at the bottom of this document makes itobvious: Dates Notethat date formatting is especially dependant on the system's regionalsettings; the example strings here are from my local locale.
Specifier
Type
Short date
10/12/2002
Long date
Short time
10:11 PM
Long time
10:11:29 PM
10/12/2002 10:11 PM
10/12/2002 10:11:29 PM
December 10
2002-12-10T22:11:29
2002-12-10 22:13:50Z
December, 2002
The 'U' specifier seems broken; that string certainly isn't sortable. Custom date formatting:
Specifier
Type
Example
Example Output
dd
Day
{0:dd}
10
ddd
Day name
{0:ddd}
Tue
dddd
{0:dddd}
Tuesday
f, ff, ...
Second fractions
{0:fff}
932
gg, ...
Era
{0:gg}
A.D.
hh
2 digit hour
{0:hh}
10
HH
{0:HH}
22
mm
Minute 00-59
{0:mm}
38
MM
Month 01-12
{0:MM}
12
MMM
Month abbreviation
{0:MMM}
Dec
MMMM
{0:MMMM}
December
ss
Seconds 00-59
{0:ss}
46
tt
AM or PM
{0:tt}
PM
yy
Year, 2 digits
{0:yy}
02
yyyy
Year
{0:yyyy}
2002
zz
{0:zz}
-05
zzz
{0:zzz}
-05:00
Separator
{0:hh:mm:ss}
10:43:20
Separator
{0:dd/MM/yyyy}
10/12/2002
Enumerations
Specifier
Type
Flags always
Integer always
x
Some Useful Examples
String.Format("{0:#,##0.00;(#,##0.00);Zero}", value);
Thiswill output "1,240.00" if passed 1243.50. It will output the sameformat but in parentheses if the number is negative, and will outputthe string "Zero" if the number is zero.
.ToString()
12345.ToString("n"); // 12,345.00 12345.ToString("C"); // 12,345.00 12345.ToString("e"); // 1.234500e+004 12345.ToString("f4"); // 12345.0000 12345.ToString("x"); // 3039 (16 ) 12345.ToString("p"); // 1,234,500.00%