数据的格式化

简介:
数据的格式化,其实就是数据类型到字符串的数据转换,只不过,这种转换的级别更加高。
.NET Framework 提供了一种一致、灵活而且全面的方式,使您能够将任何数值、枚举以及日期和时间等基数据类型表示为字符串。格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值。
除了对于数据格式的显示提供了方法,.NET Framework 还使用区域性设置,以便用适合于特定区域性的形式表示基类型。您可以提供自定义的区域性设置,或者使用与当前线程关联的默认区域性设置。
.NET Framework 提供了 标准数字格式字符串,标准 DateTime 格式字符串,枚举格式字符串
 
以下代码描述了标准数字格式字符串的方式
1   double  d  =   1234.5678 ;
2  System.Console.WriteLine( " 数字原型/t{0} " , d.ToString()); // 1234.5678
3  System.Console.WriteLine( " 货币格式/t{0} " , d.ToString( " C " )); // ¥1,234.57
4  System.Console.WriteLine( " 十进制格式/t{0} " , (( int )d).ToString( " D " )); // 1234
5  System.Console.WriteLine( " 指数格式/t{0} " , d.ToString( " E " )); // 1.234568E+003
6  System.Console.WriteLine( " 固定点格式/t{0} " , d.ToString( " F " )); // 1234.57
7  System.Console.WriteLine( " 固定点格式3精度/t{0} " , d.ToString( " F3 " )); // 1234.568
8  System.Console.WriteLine( " 常规制格/t{0} " , d.ToString( " G " )); // 1234.5678
9  System.Console.WriteLine( " 数字格式/t{0} " , d.ToString( " N " )); // 1,234.57
10  System.Console.WriteLine( " 数字格式精度1/t{0} " , d.ToString( " N1 " )); // 1,234.6
11  System.Console.WriteLine( " 百分比格式/t{0} " , d.ToString( " P " )); // 123,456.78%
12  System.Console.WriteLine( " 百分比格式2精度/t{0} " , d.ToString( " P2 " )); // 123,456.78%
13  System.Console.WriteLine( " 往返过程格式/t{0} " , d.ToString( " R " )); // 1234.5678
14  System.Console.WriteLine( " 十六进制格式/t{0} " , (( int )d).ToString( " X " )); // 4D2
以下代码描述了,日期格式化的简单方式

1  DateTime dt  =  DateTime.Now;
2  System.Console.WriteLine( " 短日期模式/t{0} " , dt.ToString( " d " )); // 2007-2-16
3  System.Console.WriteLine( " 长日期模式/t{0} " , dt.ToString( " D " )); // 2007年2月16日
4  System.Console.WriteLine( " 短时间模式/t{0} " , dt.ToString( " t " )); // 21:50
5  System.Console.WriteLine( " 长时间模式/t{0} " , dt.ToString( " T " )); // 21:50:19
6  System.Console.WriteLine( " 短完整模式/t{0} " , dt.ToString( " f " )); // 2007年2月16日 21:50
7  System.Console.WriteLine( " 长完整模式/t{0} " , dt.ToString( " F " )); // 2007年2月16日 21:50:19
8  System.Console.WriteLine( " 短常规模式/t{0} " , dt.ToString( " g " )); // 2007-2-16 21:50
9  System.Console.WriteLine( " 长常规模式/t{0} " , dt.ToString( " G " )); // 2007-2-16 21:50:19
10  System.Console.WriteLine( " RFC1132模式/t{0} " , dt.ToString( " R " )); // Fri, 16 Feb 2007 21:50:19 GMT
11  System.Console.WriteLine( " ISO8601模式/t{0} " , dt.ToString( " s " )); // 2007-02-16T21:50:19
12  System.Console.WriteLine( " 通用模式/t{0} " , dt.ToString( " u " )); // 2007-02-16 21:50:19Z
13  System.Console.WriteLine( " 通用模式/t{0} " , dt.ToString( " U " )); // 2007年2月16日 13:50:19
14  System.Console.WriteLine( " 年月模式/t{0} " , dt.ToString( " Y " )); // 2007年2月


日期的格式化,还允许自定义的方式
下面代码描述了日期的自定义格式
1  DateTime dt  =  DateTime.Now;
2  System.Console.WriteLine( " 当前日期/t{0} " ,dt.ToString( " 今天是d号 " ));
3  System.Console.WriteLine( " 有前导的当前日期/t{0} " , dt.ToString( " 今天是dd号 " ));
4  System.Console.WriteLine( " 日期缩写/t{0} " , dt.ToString( " 今天是ddd " ));
5  System.Console.WriteLine( " 日期全名/t{0} " , dt.ToString( " 今天是dddd " ));
6  System.Console.WriteLine( " 秒/t{0} " , dt.ToString( " 现在的秒是f " ));
7  System.Console.WriteLine( " 秒的最高7位/t{0} " , dt.ToString( " 现在秒是fffffff " ));
8  System.Console.WriteLine( " 年代/t{0} " , dt.ToString( " 现在是g纪年 " ));
9  System.Console.WriteLine( " 1-12小时模式/t{0} " , dt.ToString( " 现在是hh点 " ));
10  System.Console.WriteLine( " 0-23小时模式/t{0} " , dt.ToString( " 现在是HH点 " ));
11  System.Console.WriteLine( " 分钟/t{0} " , dt.ToString( " 现在是mm分钟 " ));
12  System.Console.WriteLine( " 月份/t{0} " , dt.ToString( " 现在是MM月 " ));
13  System.Console.WriteLine( " 月缩写/t{0} " , dt.ToString( " 现在是MMM " ));
14  System.Console.WriteLine( " 月全名/t{0} " , dt.ToString( " 现在是MMMM " ));
15  System.Console.WriteLine( " A.M./P.M/t{0} " , dt.ToString( " 现在是t " ));
16  System.Console.WriteLine( " A.M./P.M/t{0} " , dt.ToString( " 现在是tt " ));
17  System.Console.WriteLine( " 秒/t{0} " , dt.ToString( " 现在是ss " )); 
18  System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是y年 " ));
19  System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是yy年 " ));
20  System.Console.WriteLine( " 年/t{0} " , dt.ToString( " 现在是yyyy年 " ));
21  System.Console.WriteLine( " 标准时差/t{0} " , dt.ToString( " 现在是z " ));
22  System.Console.WriteLine( " 标准时差/t{0} " , dt.ToString( " 现在是zz " ));
23  System.Console.WriteLine( " 现在的时间是:{0} " , dt.ToString( " g yyyy年 MM月 dd日 tt HH:mm:ss 和标准时差zz " ));
24
本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806262


相关文章
|
2天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
3天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
351 91
|
10天前
|
人工智能 自然语言处理 前端开发
Qoder全栈开发实战指南:开启AI驱动的下一代编程范式
Qoder是阿里巴巴于2025年发布的AI编程平台,首创“智能代理式编程”,支持自然语言驱动的全栈开发。通过仓库级理解、多智能体协同与云端沙箱执行,实现从需求到上线的端到端自动化,大幅提升研发效率,重塑程序员角色,引领AI原生开发新范式。
851 156
|
3天前
|
数据采集 缓存 数据可视化
Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路
本文深入探讨Android无侵入式埋点技术,通过AOP与字节码插桩(如ASM)实现数据采集自动化,彻底解耦业务代码与埋点逻辑。涵盖页面浏览、点击事件自动追踪及注解驱动的半自动化方案,提升数据质量与研发效率,助力团队迈向高效、稳定的智能化埋点体系。(238字)
257 156
|
4天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。