核心提示:可通过 String.Format 方法或通过 Console.Write 方法格式化数值结果,其中后一种方法调用 String.Format。使用格式字符串指定格式。下表包含受支持的标准格式字符串......
一、用{0:?}格式化
可通过 String.Format 方法或通过 Console.Write 方法格式化数值结果,其中后一种方法调用 String.Format。使用格式字符串指定格式。下表包含受支持的标准格式字符串。格式字符串采用的形式为 Axx,其中 A 为“格式说明符”,而 xx 为“精度说明符”。格式说明符控制应用于数值的格式化类型,而精度说明符控制格式化输出的有效位数或小数位数。
有关标准及自定义格式化字符串的更多信息,请参阅
字符 | 说明 | 示例 | 输出 |
---|---|---|---|
C 或 c | 货币 | Console.Write("{0:C}", 2.5);
Console.Write("{0:C}", -2.5); |
$2.50
($2.50) |
D 或 d | 十进制 | Console.Write("{0:D5}", 25); | 00025 |
E 或 e | 科学型 | Console.Write("{0:E}", 250000); | 2.500000E+005 |
F 或 f | 固定点 | Console.Write("{0:F2}", 25);
Console.Write("{0:F0}", 25); |
25.00
25 |
G 或 g | 常规 | Console.Write("{0:G}", 2.5); | 2.5 |
N 或 n | 数字 | Console.Write("{0:N}", 2500000); | 2,500,000.00 |
X 或 x | 十六进制 | Console.Write("{0:X}", 250);
Console.Write("{0:X}", 0xffff); |
FA
FFFF |
如果格式字符串只包含下表列出的某个单个格式说明符,则它们被解释为标准格式说明符。如果指定的格式字符是单个字符并且不包含在下表中,则引发异常。如果格式字符串在长度上比单个字符长(即使多余的字符是空白),则格式字符串被解释为自定义格式字符串。请注意,这些格式说明符产生的模式受“区域选项”控制面板中的设置的影响。具有不同区域性或不同日期与时间设置的计算机将显示不同的模式。
格式字符串显示的时间和日期分隔符由与当前区域性的
格式说明符 | 名称 | 说明 |
---|---|---|
d | 短日期模式 | 显示由与当前线程关联的 |
D | 长日期模式 | 显示由与当前线程关联的 |
t | 短时间模式 | 显示由与当前线程关联的 |
T | 长时间模式 | 显示由与当前线程关联的 |
f | 完整日期/时间模式(短时间) | 显示长日期和短时间模式的组合,由空格分隔。 |
F | 完整日期/时间模式(长时间) | 显示由与当前线程关联的 |
g | 常规日期/时间模式(短时间) | 显示短日期和短时间模式的组合,由空格分隔。 |
G | 常规日期/时间模式(长时间) | 显示短日期和长时间模式的组合,由空格分隔。 |
M 或 m | 月日模式 | 显示由与当前线程关联的 |
R 或 r | RFC1123 模式 | 显示由与当前线程关联的 |
s | 可排序的日期/时间模式;符合 ISO 8601 | 显示由与当前线程关联的 |
u | 通用的可排序日期/时间模式 | 显示由与当前线程关联的 |
U | 通用的可排序日期/时间模式 | 显示由与当前线程关联的 |
Y 或 y | 年月模式 | 显示由与当前线程关联的 |
任何其他单个字符 | 未知说明符 |