Every object has a method called ToString that returns a string representation of the object. The ToString method can accept a string parameter, which tells the object how to format itself - in the String.Format call, the formatting string is passed after the position, for example, “{0:##}”
The text inside the curly braces is {index[,alignment][:formatString]}. If alignment is positive, the text is right-aligned in a field the given number of spaces; if it’s negative, it’s left-aligned.
Strings
There really 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
Basic number formatting specifiers:
Specifier |
Type |
Format |
Output (Passed Double 1.42) |
Output (Passed Int -12400) |
c |
Currency |
{0:c} |
$1.42 |
-$12,400 |
d |
Decimal (Whole number) |
{0:d} |
System.FormatException |
-12400 |
e |
Scientific |
{0:e} |
1.420000e+000 |
-1.240000e+004 |
f |
Fixed point |
{0:f} |
1.42 |
-12400.00 |
g |
General |
{0:g} |
1.42 |
-12400 |
n |
Number with commas for thousands |
{0:n} |
1.42 |
-12,400 |
r |
Round trippable |
{0:r} |
1.42 |
System.FormatException |
x |
Hexadecimal |
{0:x4} |
System.FormatException |
cf90 |
Custom number formatting:
Specifier |
Type |
Example |
Output (Passed Double 1500.42) |
Note |
0 |
Zero placeholder |
{0:00.0000} |
1500.4200 |
Pads with zeroes. |
# |
Digit placeholder |
{0:(#).##} |
(1500).42 |
|
. |
Decimal point |
{0:0.0} |
1500.4 |
|
, |
Thousand separator |
{0:0,0} |
1,500 |
Must be between two zeroes. |
,. |
Number scaling |
{0:0,.} |
2 |
Comma adjacent to Period scales by 1000. |
% |
Percent |
{0:0%} |
150042% |
Multiplies by 100, adds % sign. |
e |
Exponent placeholder |
{0:00e+0} |
15e+2 |
Many exponent formats available. |
; |
Group separator |
see below |
|
|
The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious:
Dates
Note that date formatting is especially dependant on the system’s regional settings; the example strings here are from my local locale.
Specifier |
Type |
Example (Passed System.DateTime.Now) |
d |
Short date |
10/12/2002 |
D |
Long date |
December 10, 2002 |
t |
Short time |
10:11 PM |
T |
Long time |
10:11:29 PM |
f |
Full date & time |
December 10, 2002 10:11 PM |
F |
Full date & time (long) |
December 10, 2002 10:11:29 PM |
g |
Default date & time |
10/12/2002 10:11 PM |
G |
Default date & time (long) |
10/12/2002 10:11:29 PM |
M |
Month day pattern |
December 10 |
r |
RFC1123 date string |
Tue, 10 Dec 2002 22:11:29 GMT |
s |
Sortable date string |
2002-12-10T22:11:29 |
u |
Universal sortable, local time |
2002-12-10 22:13:50Z |
U |
Universal sortable, GMT |
December 11, 2002 3:13:50 AM |
Y |
Year month pattern |
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 |
Full day name |
{0:dddd} |
Tuesday |
f, ff, … |
Second fractions |
{0:fff} |
932 |
gg, … |
Era |
{0:gg} |
A.D. |
hh |
2 digit hour |
{0:hh} |
10 |
HH |
2 digit hour, 24hr format |
{0:HH} |
22 |
mm |
Minute 00-59 |
{0:mm} |
38 |
MM |
Month 01-12 |
{0:MM} |
12 |
MMM |
Month abbreviation |
{0:MMM} |
Dec |
MMMM |
Full month name |
{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 |
Timezone offset, 2 digits |
{0:zz} |
-05 |
zzz |
Full timezone offset |
{0:zzz} |
-05:00 |
: |
Separator |
{0:hh:mm:ss} |
10:43:20 |
/ |
Separator |
{0:dd/MM/yyyy} |
10/12/2002 |
Enumerations
Specifier |
Type |
g |
Default (Flag names if available, otherwise decimal) |
f |
Flags always |
d |
Integer always |
x |
Eight digit hex. |
Some Useful Examples
String.Format(”{0:$#,##0.00;($#,##0.00);Zero}”, value);
This will output “$1,240.00″ if passed 1243.50. It will output the same format but in parentheses if the number is negative, and will output the string “Zero” if the number is zero.
String.Format(”{0:(###) ###-####}”, 8005551212);
This will output “(800) 555-1212″.
分享到:
相关推荐
Basic Visual Formatting in CSS
在本篇文章里小编给大家整理了关于Python 格式化输出_String Formatting_控制小数点位数的实例内容,需要的朋友们参考下。
Pro WPF 4.5 in C# provides a thorough, authoritative guide to how WPF really works. Packed with no-nonsense examples and practical advice you'll learn everything you need to know in order to use WPF ...
20.Formatting Bound Data 21.Data Views 22.Lists, Trees, and Grids 23.Windows 24.Pages and Navigation 25.Menus, Toolbars, and Ribbons 26.Sound and Video 27.3-D Drawing 28.Documents 29.Printing...
Code formatting options, custom type & member replacements, custom string replacements, and miscellaneous options. (可以指定转换规则) 5. File comparison feature: After converting a project or folder,...
Pro WPF in C# 2010: Windows Presentation Foundation in .NET 4 1216 pages Publisher: Apress; 3 edition (March 31, 2010) Language: English ISBN-10: 1430272058 ISBN-13: 978-1430272052 Microsoft's ...
Formatting Dates, Times and Numbers in ASP.NET
芯嵌STM32入门系列教程之二十三《STM32待机模式的使用》1
System.Net.Http.Formatting 4.0各版本,asp.net C#.net 都能用到
google web toolkit 既是一个简单的web框架,也是一个将java语句编译为JavaScript的工具,也是一个轻量型的服务器,本资源为一个简单工程的具体做法
System.Net.Http.Formatting.dll
// All of the EXIF properties will return strings to display in the control. // Some of the properties require additional formatting or massaging // of the data once it is returned. Those ...
Excel: Formatting Microsoft Excel has many formatting options to make your spreadsheet more attractive and easier to read.
含 各个版本,引用此DLL可解决C#HttpClient的不支持PostAsJsonAsync方法的问题
System.Net.Http.Formatting.xml
Variables, Variable Types, Inputs, String Formatting, Decision Structures, Conditional Operators, Loops Several Programming Examples to make sure you practice what you learn String Formatting and ...
System.Net.Http.Formatting
I've standardized on this version of Python because it has a new improved string formatting system that is easier to use than the previous 4 (or 3, I forget, there were many). There are a few ...