在C#程序开发中,我们会经常需要获得某种格式化的字符串,比如:颜色值#FF00FF,货币¥2.00,日期2012-03-14等等。在C#中格式化字符串,一般会用到String.Format()和.ToString()两个函数。 1.已知颜色的RGB值,获取颜色的字符串格式#FF00FF。
//#ff0ff String color1 = String.Format("#{0:x}{1:x}{2:x}", 255, 0, 255); //#FF0FF String color2 = String.Format("#{0:X}{1:X}{2:X}", 255, 0, 255); //#FF00FF String color3 = String.Format("#{0:X2}{1:X2}{2:X2}", 255, 0, 255);
说明:x,X则表示将数字格式化为16进制,x,X的大小写决定了格式化后的字符串中的字母的大小写,而{0:X2}中的2则表示格式化后16进制不足两位作补零处理。 与此类似的还有如下几种格式。 C 货币 string.Format("{0:C}", 2) //¥2.00 D 十进制 string.Format("{0:D3}", 2) //002 E 科学计数法 12345.ToString("E") //1.234500e+004 F 浮点数 12345.ToString("F4") //12345.0000 P 百分数 string.Format("{0:P}", 0.1) //10.00% G 常规 string.Format("{0:G}", 2) //2 N 用分号隔开的数字string.Format("{0:N}", 250000)//250,000.00
2.日期时间的格式化。 DateTime.Now.ToString("yyyyMMddHHmmssffff");//201203112159166970 格式模式 说明 y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。 yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。 yyyy 包括纪元的四位数的年份。 M 月份数字。一位数的月份没有前导零。 MM 月份数字。一位数的月份有一个前导零。 MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM 月份的完整名称,在 MonthNames 中定义。 d 月中的某一天。一位数的日期没有前导零。 dd 月中的某一天。一位数的日期有一个前导零。 ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd 周中某天的完整名称,在 DayNames 中定义。 h 12 小时制的小时。一位数的小时数没有前导零。 hh 12 小时制的小时。一位数的小时数有前导零。 H 24 小时制的小时。一位数的小时数没有前导零。 HH 24 小时制的小时。一位数的小时数有前导零。 m 分钟。一位数的分钟数没有前导零。 mm 分钟。一位数的分钟数有一个前导零。 s 秒。一位数的秒数没有前导零。 ss 秒。一位数的秒数有一个前导零。 f 秒的小数精度为一位。其余数字被截断。 ff 秒的小数精度为两位。其余数字被截断。 fff 秒的小数精度为三位。其余数字被截断。 ffff 秒的小数精度为四位。其余数字被截断。 fffff 秒的小数精度为五位。其余数字被截断。 ffffff 秒的小数精度为六位。其余数字被截断。 fffffff 秒的小数精度为七位。其余数字被截断。
|
请发表评论