无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 137|回复: 0

C#字符串的各种格式转换,C#中自动为数字千位数,百万位数添加逗号的方法详解

[复制链接]

245

主题

272

帖子

1095

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1095
发表于 2017-7-18 16:14:52 | 显示全部楼层 |阅读模式
C#字符串的各种格式转换,C#中自动为数字千位数,百万位数添加逗号的方法详解
平时我们经常会需要将字符转换为各种不同的格式,例如钱:0元需要转换为0.00显示;需要转换为16进制显示的数,这样的例子有很多,平时在应用中也是用得较多...
如果我们都计算出对的格式,然后再显示的话,显然浪费代码和效率,今天看见了许多ToString可以解决的格式,总结给大家,希望可以方便大家。
1.转换钱的格式,仅限int型,float型,double型
double d = 400;
d.ToString("C"); //¥400.00

2.10进制数,仅限int型的数字
int i=400;
i.ToString("D5"); // 00400

3.科学型数字,仅限int型,float型,double型
float f = 400;
f.ToString("E");//4.000000E+002

4.固定格式型数字,仅限int型,float型,double型
int i=400;
i.ToString("F3");//400.000 Fn表示小数点后n位,F2和F表示小数点后2位

5.N数字型
400000000000.ToString("N")// 400,000,000,000.00" N会将数字转换为小数点后噢位,且每隔3位有一个,
它和C的区别是没有前面的¥符号

6.16进制
400000000000.ToString("x")//"5d21dba000" 将数字转换为16进制数字

7.日期格式的转换
日期格式初了Datetime已经封装好了的类之外,还可以用string .Format();来转换为指定的格式
string.Format("{0:f}",System.DateTime.Now);// 2011年8月4日星期四 11:23
string.Format("{0:F}", System.DateTime.Now);//2011年8月4日星期四 11:23:53
dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
dt.GetDateTimeFormats('t')[0].ToString();//14:06
dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
dt.GetDateTimeFormats('M')[0].ToString();//11月5日
dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT
string.Format("{0:d}",dt);//2005-11-5
string.Format("{0 : D}",dt);//2005年11月5日
string.Format("{0:f}",dt);//2005年11月5日 14:23
string.Format("{0:F}",dt);//2005年11月5日 14:23:23
string.Format("{0:g}",dt);//2005-11-5 14:23
string.Format("{0:G}",dt);//2005-11-5 14:23:23
string.Format("{0:M}",dt);//11月5日
string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
string.Format("{0:s}",dt);//2005-11-05T14:23:23
string.Format("{0:t}",dt);//14:23
string.Format("{0:T}",dt);//14:23:23
string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
string.Format("{0:U}",dt);//2005年11月5日 6:23:23
string.Format("{0:Y}",dt);//2005年11月
string.Format("{0}",dt);//2005-11-5 14:23:23
string.Format("{0:yyyyMMddHHmmssffff}", System.DateTime.Now);
yyyy表示年 MM表示月 dd表示日 HH表示时 mm表示分 ss表示秒 ffff表示秒的小数为4位
暂时就先写这么多,如果以后有发现会继续修改

经验在于积累----武二郎

原文出处:http://www.cnblogs.com/zhanghai/p/4461183.html
windows .net(C#+MSSQL) linux(php+mysql)  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软件编程 Inc.  

GMT+8, 2017-9-22 19:51 , Processed in 0.174000 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表