C# string.Format 字符串格式化速查表


C# string.Format 字符串格式化速查表

1. 方法定义

String.Format(string format, object arg0)
String.Format(string format, object[] args)
String.Format(IFormatProvider provider, string format, object[] args)
String.Format(string format, object arg0, object arg1)
String.Format(string format, object arg0, object arg1, object arg2)
用 {index:format} 在字符串中占位,替换为对应参数的文本表示。IFormatProvider 可指定区域性格式(如货币、日期格式等)。


2. 标准数字格式化


格式符名称示例输出
C货币string.Format("{0:C}", 0.2)¥0.20(或 $0.20)
D十进制(整数)string.Format("{0:D3}", 23)023
E科学计数法string.Format("{0:E2}", 12.05)1.20E+001
F定点string.Format("{0:F2}", 56789)56789.00
G常规string.Format("{0:G}", 2)2
N千分位string.Format("{0:N}", 250000)250,000.00
P百分比string.Format("{0:P1}", 0.24583)24.6%
X十六进制string.Format("{0:X}", 12)C


3. 自定义数字格式符


符号说明示例输出
0零占位符(必显位){0:0000.00} 194.0390194.04
#数字占位符(可省略位){0:###.##} 194.039194.04
.小数点{0:0.00} 1212.00
,千分位或缩放{0:0,0} 1234512,345
%百分比(乘 100){0:0%} 0.2525%
;正/负/零格式分隔符{0:#.##;(#.##);"Zero"}
\转义符{0:\#0} 12#12


4. 日期时间格式化(标准格式符)


格式符示例输出
d{0:d} 2009-3-202009-3-20
D{0:D} 2009-3-202009年3月20日
f{0:f}2009年3月20日 15:37
F{0:F}2009年3月20日 15:37:52
g{0:g}2009-3-20 15:38
G{0:G}2009-3-20 15:39:27
m{0:m}3月20日
t{0:t}15:41
T{0:T}15:41:50
oISO 86012009-03-20T15:37:52.0000000+08:00
RRFC1123Fri, 20 Mar 2009 15:37:52 GMT


5. 对齐与空格占位

string.Format("{0,-10}", "Hi");  // 左对齐宽度 10
string.Format("{0,10}", "Hi");   // 右对齐宽度 10


6. 常用示例

// 千分位 + 小数
string.Format("{0:N2}", 56789);  // 56,789.00

// 货币(两位小数)
string.Format("{0:C}", 0.2);     // ¥0.20

// 百分比(1 位小数)
string.Format("{0:P1}", 0.2458); // 24.6%

// 固定位数(整数)
string.Format("{0:D4}", 23);     // 0023

// 自定义小数格式
(56789 / 100.0).ToString("#.##"); // 567.89



Unity 好用的客户端框架推荐

Unity Shader 笔记

评 论