C# 之 ToString 格式化全说明

时间:2025-04-17 15:25:33

▪ 前言

有时,我们可能需要将数值以一定的格式来呈现,就需要对数值进行格式化。

格式化数值结果表

格式说明符 说明 示例 输出
C 货币 (“C”) ¥15.00
(“C1”) ¥15.0
(“C3”) ¥15.000
D 十进制数 (“D1”) 15
(“D2”) 15
(“D5”) 00015
E 科学型 (“E”) 1.500000E+001
(“E”) 1.500000E+003
0.(“E”) 1.500000E-001
0.(“E”) 1.500000E-003
0.(“E0”) 2E-003
0.(“E1”) 1.5E-003
0.(“E2”) 1.50E-003
F 固定点 (“F1”) 15.0
(“F2”) 15.00
G 常规 2.(“G”) 2.5
N 数字 (“N”) 1,500,000.00
(“N0”) 1,500,000
(“N1”) 1,500,000.0
X 十六进制 (“X”) F
(“X3”) 00F

格式化数值结果表

字符 说明 示例 输出
C 货币 ("{0:C3}", 2) $2.000
D 十进制 ("{0:D3}", 2) 002
E 科学计数法 1.20E+001 1.20E+001
G 常规 ("{0:G}", 2) 2
N 用分号隔开的数字 ("{0:N}", 250000) 250,000.00
X 十六进制 ("{0:X000}", 12) C
0 零占位符 ("{0:000.000}", 12.3) 012.300
# 数字占位符 ("{0:#}", 12.3) 12
("{0:##}", 12.3) 12
("{0:###}", 12.3) 12
("{0:###.#}", 12.3) 12.3

自定义模式输出

  1. “0”描述:占位符,如果可能,填充位
("{0:000000}", 1234);  // 结果:001234
  1. “#”描述:占位符,如果可能,填充位
("{0:######}", 1234);  // 结果:1234
("{0:#0####}", 1234);  // 结果:01234
("{0:0#0####}", 1234);  // 结果:0001234
  1. "."描述:小数点
("{0:000.000}", 1234);  // 结果:1234.000
("{0:000.000}", 4321.12543);  // 结果:4321.125
  1. ","描述:数字分组,也用于增倍器
("{0:0,0}", 1234567);  // 结果:1,234,567
  1. "%"描述:格式为百分数
("{0:0%}", 1234);  // 结果:123400%
("{0:#%}", 1234.125);  // 结果:123413%
("{0:0.00%}", 1234);  // 结果: 123400.00%
("{0:#.00%}", 1234.125);  // 结果:123412.50%
  1. "abc"描述:显示单引号内的文本
("{0:'文本'0}", 1234);  // 结果:文本1234
  1. ""描述:用于转移符
("\"abc!\"");  // 结果:abc!
  1. "@"描述:后跟要打印字符串
(@""abc!"");  // 结果:abc!