C#字符串格式化之String.Format
|
admin
2024年7月24日 23:7
本文热度 2394
|
引言
字符串是编程中使用较广的一种数据,它由数字、字母、下划线等组成。在使用过程中会对字符串进行格式化。在C#语言中,我们可以String.Format方法对字符串格式化。
String.Format
使用String.Format可以将对象、变量、表达式的值插入到另一个字符串。在插入时可以设置其格式、对齐和间距输出。
格式项
string.Format("{index[,alignment][:formatString]}",args)
alignment:指定自变量的字段的总长度及对齐方式。formatString:指定输出字符串结果的格式。
常用实例
1、插入字符串:将一个或多个变量的值插到字符串的对应位置里。// 使用 string.Format将二个变量值拼接在一起string fileName = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "config.ini");// 在控制台输出变量fileName的值Console.WriteLine(fileName);
| 格式符 | 描述 | 输出效果 |
|---|
| d | 短日期模式 | 2024/5/4 |
| D | 长日期模式 | 2024年5月4日 |
| f | 完整日期或短时间模式 | 2024年5月4日 9:54 |
| F | 完整日期或长时间模式 | 2024年5月4日 9:54:58 |
| g | 常规日期或短时间模式 | 2024/5/4 9:54 |
| G | 常规日期或长时间模式 | 2024/5/4 9:54:58 |
| M或m | 月或日模式 | 5月4日 |
| t | 短时间模式 | 9:54 |
| T | 长时间模式 | 9:54:58 |
| Y或y | 年月模式 | 2024年5月 |
// 使用d格式符 输出 2024/5/4Console.WriteLine(string.Format("{0:d}", System.DateTime.Now)); // 使用D格式符 输出 2024年5月4日Console.WriteLine(string.Format("{0:D}", System.DateTime.Now));// 使用f格式符 输出 2024年5月4日 9:47Console.WriteLine(string.Format("{0:f}", System.DateTime.Now));// 使用F格式符 输出 2024年5月4日 9:47:51Console.WriteLine(string.Format("{0:F}", System.DateTime.Now));// 使用g格式符 输出 2024/5/4 9:47Console.WriteLine(string.Format("{0:g}", System.DateTime.Now));// 使用G格式符 输出 2024/5/4 9:47:51Console.WriteLine(string.Format("{0:G}", System.DateTime.Now));// 使用m格式符 输出 5月4日Console.WriteLine(string.Format("{0:m}", System.DateTime.Now));// 使用t格式符 输出 9:47Console.WriteLine(string.Format("{0:t}", System.DateTime.Now));// 使用T格式符 输出 9:47:51Console.WriteLine(string.Format("{0:T}", System.DateTime.Now));// 使用y或Y格式符 2024年5月Console.WriteLine(string.Format("{0:y}", System.DateTime.Now));
使用格式符C,它的输出效果与我们操作系统的默认格式有关。下面是示例效果:
// 使用C格式符 输出 ¥22.15,¥18.12Console.WriteLine(string.Format("{0:C},{1:C}", 22.15, 18.12));// 使用C格式符带指定位数 输出 ¥21.3,¥20.80 此次的21.26截取会自动四舍五入位21.3Console.WriteLine(string.Format("{0:C1},{1:C3}", 21.26, 20.8));
| 格式符 | 描述 | 输出效果 |
|---|
| D | 格式化十进制的数字 | 021 |
| G | 常规 | 20 |
| N | 用分号隔开的数字 | 150,000.00 |
| P | 格式百分比 | 20.48% |
// 使用 D 格式符 固定的位数位3 输出 021,位数不够以0补充Console.WriteLine(string.Format("{0:D3}", 21));// 使用 D 格式符 固定的位数位2 输出 142,位数超数指定为,则按原数字输出Console.WriteLine(string.Format("{0:D2}", 142));// 使用 N 格式符 输出 132.00 默认为小数点后面两位Console.WriteLine(string.Format("{0:N}", 132));// 使用 N 格式符指定保留小数位 输出 123.246 自动四舍五入Console.WriteLine(string.Format("{0:N3}", 123.2458));// 使用 P 格式符 输出 21.58% 默认为小数点后面两位 自动四舍五入Console.WriteLine(string.Format("{0:P}", 0.21583));// 使用 P 格式符指定保留小数位 输出 21.6% 自动四舍五入Console.WriteLine(string.Format("{0:P1}", 0.21583));
可以使用"0"零占位符(位数不够则以0补充)或"#"数字占位符,如下面的示例效果:// 使用 0 占位符 输出 1346.23Console.WriteLine(string.Format("{0:0000.00}", 1346.23));// 使用 0 占位符 输出 0154.03 超出小数被截取会自动四舍五入Console.WriteLine(string.Format("{0:0000.00}", 154.029)); // 使用 # 数字占位符 输出 13295.02 超出小数被截取会自动四舍五入Console.WriteLine(string.Format("{0:###.##}", 13295.019)); // 使用 # 数字占位符 输出124 小数位0,则不被显示Console.WriteLine(string.Format("{0:####.#}", 124.029));
小结
以上是C# 使用String.Format对字符串格式化的介绍,对以.NET 6及以上,我们还能使用特殊符号$的方式。
该文章在 2024/7/24 23:10:01 编辑过