C# 格式化字符串
在C#程序開發中,我們會經常需要獲得某種格式化的字符串,比如:顏色值#FF00FF,貨幣¥2.00,日期2012-03-14等等。在C#中格式化字符串,一般會用到String.Format()和.ToString()兩個函數。
1.已知顏色的RGB值,獲取顏色的字符串格式#FF00FF。
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 秒的小數精度為七位。其余數字被截斷。
轉載于:https://www.cnblogs.com/huizhang212/archive/2012/03/15/StringFormat.html
總結
- 上一篇: 【CKFinder】解决上传中文名文件乱
- 下一篇: 只要存心谦卑,各人看别人比自己强。