当前位置: 首页 > article >正文

C#字符串格式化之String.Format

引言

字符串是编程中使用较广的一种数据,它由数字、字母、下划线等组成。在使用过程中会对字符串进行格式化。在C#语言中,我们可以String.Format方法对字符串格式化。

String.Format

使用String.Format可以将对象、变量、表达式的值插入到另一个字符串。在插入时可以设置其格式、对齐和间距输出。

格式项

格式语法
string.Format("{index[,alignment][:formatString]}",args)
格式项说明:

index:对象索引以0~n。

alignment:指定自变量的字段的总长度及对齐方式。

formatString:指定输出字符串结果的格式。

args:替换对象索引自变量。

常用实例

1、插入字符串:将一个或多个变量的值插到字符串的对应位置里。
// 使用 string.Format将二个变量值拼接在一起
string fileName = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "config.ini");
// 在控制台输出变量fileName的值
Console.WriteLine(fileName);
2、日期格式化:将日期类型数据按一定的格式显示。

常用的一些格式符说明:

格式符描述输出效果
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/4
Console.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:47
Console.WriteLine(string.Format("{0:f}", System.DateTime.Now));
// 使用F格式符 输出 2024年5月4日 9:47:51
Console.WriteLine(string.Format("{0:F}", System.DateTime.Now));
// 使用g格式符 输出 2024/5/4 9:47
Console.WriteLine(string.Format("{0:g}", System.DateTime.Now));
// 使用G格式符 输出 2024/5/4 9:47:51
Console.WriteLine(string.Format("{0:G}", System.DateTime.Now));
// 使用m格式符 输出 5月4日
Console.WriteLine(string.Format("{0:m}", System.DateTime.Now));
// 使用t格式符 输出 9:47
Console.WriteLine(string.Format("{0:t}", System.DateTime.Now));
// 使用T格式符 输出 9:47:51
Console.WriteLine(string.Format("{0:T}", System.DateTime.Now));
// 使用y或Y格式符 2024年5月
Console.WriteLine(string.Format("{0:y}", System.DateTime.Now));
3、格式化货币

使用格式符C,它的输出效果与我们操作系统的默认格式有关。下面是示例效果:

// 使用C格式符 输出 ¥22.15,¥18.12
Console.WriteLine(string.Format("{0:C},{1:C}", 22.15, 18.12));
// 使用C格式符带指定位数 输出 ¥21.3,¥20.80 此次的21.26截取会自动四舍五入位21.3
Console.WriteLine(string.Format("{0:C1},{1:C3}", 21.26, 20.8));
4、数字格式

常用的一些格式符说明:

格式符描述输出效果
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));
5、占位符

可以使用"0"零占位符(位数不够则以0补充)或"#"数字占位符,如下面的示例效果:

// 使用 0 占位符 输出 1346.23
Console.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及以上,我们还能使用特殊符号$的方式。如有不到之处,请多多包涵。


http://www.kler.cn/news/366870.html

相关文章:

  • 【Dv2Admin】Django配置线上ws反向代理
  • nginx 路径匹配,关于“/“对规则的影响
  • 【HTML】之form表单元素详解
  • 现在设备普遍切换成TYPE-C适配器后,一拖三数据线接口变革探析
  • 物联网数据采集网关详细介绍-天拓四方
  • 【pytest学习】pytest.main()
  • 【分布式知识】分布式对象存储组件-Minio
  • Linux文件描述符详解及其应用
  • 虚拟光驱软件 PowerISO v8.7.0 中文激活版
  • 正大金融市场的跨境投资机遇与挑战分析
  • 活体检测API对接php语言方式-人脸静态/动态活体检测免费
  • 青少年编程与数学 02-002 Sql Server 数据库应用 07课题、表的操作
  • java程序设计2(一)
  • HarmonyOs next 跟着开发文档学习-判断api是否可以使用
  • 油豆视频油豆影视app系统源码-试看/付费/免费/vip
  • Vue全栈开发旅游网项目首页
  • SQL查询
  • 2024年MathorCup妈杯大数据竞赛选题人数发布
  • Qt开发技巧(十九):定时器的调用问题,控件的透明问题,慎用事件过滤器,依赖库的路径链接,对话框控件的拉伸功能,解决Opengl的错误提示,Qt的日志屏蔽
  • 开源标准版系统长链接反向代理详解
  • OracleSQL语句 某字段重复数据只取一条
  • 初识Linux · 文件系统
  • ElasticSearch基础概念
  • 腾讯云上基于 Apache Pulsar 的大规模生产实践
  • C++【string类的使用】(下)
  • python爬虫数据存进mysql数据库