[转载]C# ToString格式字符串整理(Format)(数字、日期和枚举的标准格式设置说明符)(SamWang) – SamWang – 博客园.
日常开发中,格式字符串的情况非常多。经常也会忘记,经常去查有些麻烦,所以今天就花点时间做个整理。
格式字符串用的比较多的有数字、日期与枚举的格式化。
一、数字格式字符串
C或c | 本地货币格式 |
D或d | 十进制格式,把整数转换为以10为基数的书,如果给定一个精度说明符,就加上前导0 |
E或e | 科学计数法(指数)格式,精度说明符设置小数位数(默认为6),格式字符串的大小写(e或E)确定指数符号的大小写。 |
F或f | 固定点格式,精度说明符设置小数位数,可以为0 |
G或g | 普通格式,使用E或F格式取决于哪种格式较简单 |
N或n | 数字格式,用逗号表示千分符,例如32,767.44 |
P或p | 百分数格式 |
X或x | 十六进制格式,精度说明符用于加上前导0 |
先用例子说明几种格式字符串的方法:
<span class = "kwd" > double </span><span class = "pln" > d </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "lit" >123.456</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "ToString:{0}" </span><span class = "pun" >,</span><span class = "pln" > d</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "C" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Format:{0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pun" >.</span><span class = "typ" >Format</span><span class = "pun" >(</span><span class = "str" > "{0:C}" </span><span class = "pun" >,</span><span class = "pln" >d</span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Console:{0:C}" </span><span class = "pun" >,</span><span class = "pln" > d</span><span class = "pun" >);</span> |
输出结果:
数字格式化程序例子:
<span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "十六进制格式符X:{0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >(</span><span class = "lit" >145</span><span class = "pun" >).</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "X" </span><span class = "pun" >));</span><span class = "com" > //X只支持整型</span><span class="pln"> </span><span class = "kwd" > double </span><span class = "pun" >[]</span><span class = "pln" > numbers </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "lit" >1054.32179</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >-</span><span class = "lit" >195489100.8377</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >1.0437E21</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >-</span><span class = "lit" >1.0573e-05</span><span class = "pun" >};</span><span class = "pln" > </span><span class = "kwd" > string </span><span class = "pun" >[]</span><span class = "pln" > specifiers </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "str" > "C" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "E" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "F" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "G" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "N" </span><span class = "pun" >,</span><span class = "str" > "P" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "R" </span><span class = "pun" >,</span><span class = "str" > "#,000.000" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "0.###E-000" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "000,000,000,000.00###" </span><span class = "pln" > </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "kwd" > foreach </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "kwd" > double </span><span class = "pln" > number </span><span class = "kwd" > in </span><span class = "pln" > numbers</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Formatting of {0}:" </span><span class = "pun" >,</span><span class = "pln" > number</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > foreach </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > specifier </span><span class = "kwd" > in </span><span class = "pln" > specifiers</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > " {0,5}: {1}" </span><span class = "pun" >,</span><span class = "pln" > specifier</span><span class = "pun" >,</span><span class = "pln" > number</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "pln" >specifier</span><span class = "pun" >));</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "pun" >}</span> |
输出结果:
二、日期格式字符串
<span class = "kwd" > static </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >DateToString</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >DateTime</span><span class = "pln" > dateValue </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >DateTime</span><span class = "pun" >.</span><span class = "typ" >Now</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "com" > // Create an array of standard format strings.</span><span class="pln"> </span><span class = "kwd" > string </span><span class = "pun" >[]</span><span class = "pln" > standardFmts </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "str" > "d" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "D" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "f" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "F" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "g" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "G" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "m" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "o" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "R" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "s" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "t" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "T" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "u" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "U" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "y" </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "com" > // Output date and time using each standard format string.</span><span class="pln"> </span><span class = "kwd" > foreach </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > standardFmt </span><span class = "kwd" > in </span><span class = "pln" > standardFmts</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "{0}: {1}" </span><span class = "pun" >,</span><span class = "pln" > standardFmt</span><span class = "pun" >,</span><span class = "pln" > dateValue</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "pln" >standardFmt</span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >();</span><span class = "pln" > </span><span class = "com" > // Create an array of some custom format strings.</span><span class="pln"> </span><span class = "kwd" > string </span><span class = "pun" >[]</span><span class = "pln" > customFmts </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "str" > "yyyyMMddHHmmss" </span><span class = "pun" >,</span><span class = "str" > "h:mm:ss.ff t" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "d MMM yyyy" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "HH:mm:ss.f" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "dd MMM HH:mm:ss" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "pun" >@</span><span class = "str" > "\Mon\t\h\: M" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > "HH:mm:ss.ffffzzz" </span><span class = "pln" > </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "com" > // Output date and time using each custom format string.</span><span class="pln"> </span><span class = "kwd" > foreach </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "kwd" > string </span><span class = "pln" > customFmt </span><span class = "kwd" > in </span><span class = "pln" > customFmts</span><span class = "pun" >)</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "'{0}': {1}" </span><span class = "pun" >,</span><span class = "pln" > customFmt</span><span class = "pun" >,</span><span class = "pln" > dateValue</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "pln" >customFmt</span><span class = "pun" >));</span><span class = "pln" > </span><span class = "pun" >}</span> |
输出结果:
MSDN:DateTime.ToString 方法 (String)
三、枚举格式字符串
<span class = "kwd" > enum </span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Red</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Green</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Blue</span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Yellow</span><span class = "pln" > </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "lit" >12</span><span class = "pln" > </span><span class = "pun" >};</span><span class = "pln" > </span><span class = "kwd" > static </span><span class = "pln" > </span><span class = "kwd" > void </span><span class = "pln" > </span><span class = "typ" >EnumToString</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pln" > myColor </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pun" >.</span><span class = "typ" >Yellow</span><span class = "pun" >;</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Colors.Red = {0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pun" >.</span><span class = "typ" >Red</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "d" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Colors.Green = {0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pun" >.</span><span class = "typ" >Green</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "d" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Colors.Blue = {0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pun" >.</span><span class = "typ" >Blue</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "d" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "Colors.Yellow = {0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Colors</span><span class = "pun" >.</span><span class = "typ" >Yellow</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "d" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "{0}myColor = Colors.Yellow{0}" </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "typ" >Environment</span><span class = "pun" >.</span><span class = "typ" >NewLine</span><span class = "pun" >);</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"g\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "g" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"G\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "G" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"x\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "x" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"X\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "X" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"d\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "d" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"D\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "D" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"f\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "f" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "typ" >Console</span><span class = "pun" >.</span><span class = "typ" >WriteLine</span><span class = "pun" >(</span><span class = "str" > "myColor.ToString(\"F\") = {0}" </span><span class = "pun" >,</span><span class = "pln" > myColor</span><span class = "pun" >.</span><span class = "typ" >ToString</span><span class = "pun" >(</span><span class = "str" > "F" </span><span class = "pun" >));</span><span class = "pln" > </span><span class = "pun" >}</span> |
输出结果: