在C#编程项目开发中,几乎所有对象都有格式化字符串方法,其中常见的是数字和时间的格式化输出多少不一样,按实际需要而定吧,现记录如下,以后会用得上。
文章目录
数字格式化
例如,保留两位小数部分, 格式化输出如下
csharp
string text = theObj.ToString(format);
带入参数,支持项如下
处理 | format | theObj | text |
---|---|---|---|
保留两位小数 | F2 | 12394.039 | 12394.04 |
分号隔开 | N | 14200 | 14,200.00 |
人民币格式 | C | 0.2 | ¥0.20 |
百分比 | P | 0.24583 | 24.58% |
转16进制数,只支持整型 | X | 12 | C |
上面的截取位数会自动四舍五入
更多请参考官方的文档 Double.ToString 方法
还可以这样用的
csharp
string text = string.Format(string format, Object theObj)
支持项如下
处理 | format | theObj | text |
---|---|---|---|
保留两位小数 | {0:0.00} | 12394.039 | 12394.04 |
零占位符 | {0:0000.00} | 194.039 | 0194.04 |
数字占位符 | {0:####.#} | 194.039 | 194 |
填充不足 | {0:D3} | 23 | 023 |
分号隔开 | {0:N} | 14200 | 14,200.00 |
四舍五入 | {0:N3} | 14200.2458 | 14,200.246 |
人民币格式 | {0:C} | 0.2 | ¥0.20 |
人民币,保留一位小数 | {0:C1} | 23.15 | ¥23.2 |
百分比 | {0:P} | 0.24583 | 24.58% |
百分比,保留一位小数 | {0:P1} | 0.24583 | 24.6% |
上面的截取位数会自动四舍五入
还可以这样用,格式化多个Object
实例
csharp
string text = string.Format("销售价:{0:C},进货价{1:C}", 10.28, 10.26);
更多请参考官方的文档 Format(String, Object)
时间格式化
时间对象的格式化输出
csharp
string text = DataTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
支持项, 以下统一输入theObj
是System.DateTime.Now
,
处理 | format | text |
---|---|---|
短日期 | yyyy-MM-dd | 2024-06-13 |
时间完整 | HH:mm:ss | 21:29:33 |
长日期完整 | yyyy-MM-dd HH:mm:ss | 2024年6月13日 21:29:33 |
更多请参考官方的文档 ToString(String)
日期格式化,还可以这样用
csharp
string text = string.Format("yyyy-MM-dd", System.DateTime.Now);
支持项, 以下统一输入theObj
是System.DateTime.Now
,
处理 | format | text |
---|---|---|
短日期 | {0:d} | 2024-6-13 |
长日期 | {0:D} | 2024年6月13日 |
长日期和时间 | {0:f} | 2024年6月13日 21:29 |
长日期完整 | {0:F} | 2024年6月13日 21:29:33 |
短日期和时间 | {0:g} | 2024-6-13 21:29 |
短日期完整 | {0:G} | 2024-6-13 21:29:33 |
日期 | {0:m} | 6月13日 |
时间 | {0:t} | 21:29 |
时间完整 | {0:T} | 21:29:33 |
上面都是常用到的,就记到这里为止吧