天天看點

【C#】C# ToString格式化

 在很多對象顯示為字元串的時候都會使用到ToString中的格式化,由于以前沒怎麼注意到這個問題,想總結一下各個基礎結構對象的格式化,以便後備之用!!!

Int.ToString(format):

格式字元串采用以下形式:Axx,其中 A 為格式說明符,指定格式化類型,xx 為精度說明符,控制格式化輸出的有效位數或小數位數,具體如下:

格式說明符

說明

示例

輸出

C

貨币

2.5.ToString("C")

¥2.50

D

十進制數

25.ToString("D5")

00025

E

科學型

25000.ToString("E")

2.500000E+005

F

固定點

25.ToString("F2")

G

正常

2.5.ToString("G")

2.5

N

數字

2500000.ToString("N")

2,500,000.00

X

十六進制

255.ToString("X")

FF

DateTime.ToString(format):

以下格式隻能單獨使用,表示特定的格式:

d ShortDatePattern

D LongDatePattern

f 完整日期和時間(長日期和短時間)

F FullDateTimePattern(長日期和長時間)

g 正常(短日期和短時間)

G 正常(短日期和長時間)

m、M MonthDayPattern

r、R RFC1123Pattern

s 使用當地時間的 SortableDateTimePattern(基于 ISO 8601)

t ShortTimePattern

T LongTimePattern

u UniversalSortableDateTimePattern 用于顯示通用時間的格式

U 使用通用時間的完整日期和時間(長日期和長時間)

y、Y YearMonthPattern 

以下格式可以組合使用,格式化出不同的日期顯示格式:

d 月中的某一天。一位數的日期沒有前導零。

dd 月中的某一天。一位數的日期有一個前導零。

ddd 周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。

dddd 周中某天的完整名稱,在 DayNames 中定義。

M 月份數字。一位數的月份沒有前導零。

MM 月份數字。一位數的月份有一個前導零。

MMM 月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。

MMMM 月份的完整名稱,在 MonthNames 中定義。

y 不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示不具有前導零的年份。

yy 不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示具有前導零的年份。

yyyy 包括紀元的四位數的年份。

gg 時期或紀元。如果要設定格式的日期不具有關聯的時期或紀元字元串,則忽略該模式。

h 12 小時制的小時。一位數的小時數沒有前導零。

hh 12 小時制的小時。一位數的小時數有前導零。

H 24 小時制的小時。一位數的小時數沒有前導零。

HH 24 小時制的小時。一位數的小時數有前導零。

m 分鐘。一位數的分鐘數沒有前導零。

mm 分鐘。一位數的分鐘數有一個前導零。

s 秒。一位數的秒數沒有前導零。

ss 秒。一位數的秒數有一個前導零。

f 秒的小數精度為一位。其餘數字被截斷。

ff 秒的小數精度為兩位。其餘數字被截斷。

fff 秒的小數精度為三位。其餘數字被截斷。

ffff 秒的小數精度為四位。其餘數字被截斷。

fffff 秒的小數精度為五位。其餘數字被截斷。

ffffff 秒的小數精度為六位。其餘數字被截斷。

fffffff 秒的小數精度為七位。其餘數字被截斷。

t 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 訓示項的第一個字元(如果存在)。

tt 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 訓示項(如果存在)。

z 時區偏移量(“+”或“-”後面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋标準時間是“-8”。

zz 時區偏移量(“+”或“-”後面僅跟小時)。一位數的小時數有前導零。例如,太平洋标準時間是“-08”。

zzz 完整時區偏移量(“+”或“-”後面跟有小時和分鐘)。一位數的小時數和分鐘數有前導零。例如,太平洋标準時間是“-08:00”。

: 在 TimeSeparator 中定義的預設時間分隔符。

/ 在 DateSeparator 中定義的預設日期分隔符。

% c 其中 c 是格式模式(如果單獨使用)。如果格式模式與原義字元或其他格式模式合并,則可以省略“%”字元。

" c 其中 c 是任意字元。照原義顯示字元。若要顯示反斜杠字元,請使用“""”。

 在String.Format中使用格式化:

 在String.Format方法中也可以格式化這些結構對象,這些格式化的格式包含在“{}”之間,用“:”隔開。“:”前面為String.Format的索引值,和一般格式化一樣,而“:”後面則是這些結構的格式化類型。如果使用占位符,則和索引之間使用“,”分割,正數表示右對齊,負數表示左對齊,而絕對值表示所占的字元寬度數,例如:

string.Format("the value is {0,7:f3}",123.45);

//結果 the value is 123.450

其中:7表示占位符(右對齊),占7位,如果使用-7則表示左對齊,占七位。

關于作者:網魂小兵

本文可以随意轉載,摘抄等非商業用途。

為了尊重作者成果,在轉載和摘抄的時候請留下作者名稱和出處。

上一篇: RSS 簡介
下一篇: RSS 曆史