【C#】使用数字和时间方法ToString()格式化输出字符串显示

在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");

支持项, 以下统一输入theObjSystem.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);

支持项, 以下统一输入theObjSystem.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

上面都是常用到的,就记到这里为止吧

相关推荐
今天不要写bug几秒前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户479492835691523 分钟前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
咬人喵喵36 分钟前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~1 小时前
C++ 日志实现
java·前端·c++
咬人喵喵1 小时前
CSS 盒子模型:万物皆是盒子
前端·css
2401_860319521 小时前
DevUI组件库实战:从入门到企业级应用的深度探索,如何快速应用各种组件
前端·前端框架
韩曙亮1 小时前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset
珑墨2 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
LYFlied2 小时前
在AI时代,前端开发者如何构建全栈开发视野与核心竞争力
前端·人工智能·后端·ai·全栈
用户47949283569152 小时前
我只是给Typescript提个 typo PR,为什么还要签协议?
前端·后端·开源