格式字符串 結(jié)果
{0:d} YY-MM-DD
{0:p} 百分比00.00%
{0:N2}
12.68
{0:N0} 13
{0:c2} $12.68
{0:d}
3/23/2003
{0:T} 12:00:00 AM
{0:男;;女}
格式字符串 資料 結(jié)果
"{0:C}" 12345.6789 -> $12,345.68
"{0:C}" -12345.6789
-> ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 ->
00012345
"{0:E}" 12345.6789 -> 1234568E+004
"{0:E10}" 12345.6789 ->
1.2345678900E+004
"{0:F}" 12345.6789 -> 12345.68
"{0:F0}" 12345.6789
-> 12346
"{0:G}" 12345.6789 -> 12345.6789
"{0:G7}" 123456789 ->
1.234568E8
"{0:N}" 12345.6789 -> 12,345.68
"{0:N4}" 123456789 ->
123,456,789.0000
"Total: {0:C}" 12345.6789 -> Total: $12345.68
格式字符串
1、常用的數(shù)值格式字符串:
C或c 貨幣格式
D或d 十進(jìn)制格式
E或e 科學(xué)(指數(shù))格式
F或f
固定小數(shù)位格式
G或g 一般格式
N或n 數(shù)字格式
P或p 百分比格式
X或x
十六進(jìn)制格式
2、常用的日期格式字符串:
d 短日期
D 長日期
f
完整(長日期和短時(shí)間)
F 完整(長日期和長時(shí)間)
g 一般(短日期和短時(shí)間)
G
一般(短日期和長時(shí)間)
M或m 月和日
R或r RFC1123格式
s
使用本地時(shí)間的ISO8601可分類
t 短時(shí)間
T 長時(shí)間
u
使用通用時(shí)間的ISO8601可分類
U 通用可分類日期/時(shí)間
Y或y 年和月
3、數(shù)字的圖片格式字符
0
沒有有效值則顯示0
# 數(shù)字占位符
. 小數(shù)點(diǎn)
, 分隔符
% 百分比
E+0,E-0,e+0或e-0
將輸出格式為科學(xué)或指數(shù)含義
\ 轉(zhuǎn)義字符
"或' 它們之間的任何字符都被解釋為字符串
{和}
用于顯示單文字性花括號(hào),如"{{"顯示為"{"
;分隔格式字符串中正、負(fù)和零值的兩個(gè)或三個(gè)部分
標(biāo)準(zhǔn) DateTime
格式字符串包含下表中的一個(gè)格式說明符字符。如果下表中沒有該格式說明符,將引發(fā)運(yùn)行時(shí)異常。如果格式字符串在長度上比單個(gè)字符長(即使多出的字符是空白),則格式字符串被解釋為自定義格式字符串。
請(qǐng)注意,這些格式說明符產(chǎn)生的輸出字符串受“區(qū)域選項(xiàng)”控制面板中的設(shè)置的影響。計(jì)算機(jī)的區(qū)域性設(shè)置或日期和時(shí)間設(shè)置不同,將生成不同的輸出字符串。
格
式字符串顯示的時(shí)間和日期分隔符由與當(dāng)前區(qū)域性的 DateTimeFormat 屬性關(guān)聯(lián)的 DateSeparator 和 TimeSeparator
字符定義。然而,如果 InvariantCulture 被“r”、“s”和“u”說明符引用,與 DateSeparator 和 TimeSeparator
字符關(guān)聯(lián)的字符不隨當(dāng)前區(qū)域性更改。
下表描述了用來格式化 DateTime 對(duì)象的標(biāo)準(zhǔn)格式說明符。
格式說明符 名稱 說明
d 短日期模式 顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.ShortDatePattern
屬性定義的模式或者由指定格式提供程序定義的模式。
D 長日期模式 顯示由與當(dāng)前線程關(guān)聯(lián)的
DateTimeFormatInfo.LongDatePattern 屬性定義的模式或者由指定格式提供程序定義的模式。
t 短時(shí)間模式
顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.ShortTimePattern 屬性定義的模式或者由指定格式提供程序定義的模式。
T
長時(shí)間模式 顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.LongTimePattern 屬性定義的模式或者由指定格式提供程序定義的模式。
f 完整日期/時(shí)間模式(短時(shí)間) 顯示長日期和短時(shí)間模式的組合,由空格分隔。
F 完整日期/時(shí)間模式(長時(shí)間) 顯示由與當(dāng)前線程關(guān)聯(lián)的
DateTimeFormatInfo.FullDateTimePattern 屬性定義的模式或者由指定格式提供程序定義的模式。
g
常規(guī)日期/時(shí)間模式(短時(shí)間) 顯示短日期和短時(shí)間模式的組合,由空格分隔。
G 常規(guī)日期/時(shí)間模式(長時(shí)間) 顯示短日期和長時(shí)間模式的組合,由空格分隔。
M 或 m 月日模式 顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.MonthDayPattern
屬性定義的模式或者由指定格式提供程序定義的模式。
R 或 r RFC1123 模式 顯示由與當(dāng)前線程關(guān)聯(lián)的
DateTimeFormatInfo.RFC1123Pattern
屬性定義的模式或者由指定格式提供程序定義的模式。這是定義的標(biāo)準(zhǔn),并且屬性是只讀的;因此,無論所使用的區(qū)域性或所提供的格式提供程序是什么,它總是相 同的。屬性引用
CultureInfo.InvariantCulture 屬性并遵照自定義模式“ddd, dd MMM yyyy HH:mm:ss
G\MT”。請(qǐng)注意,“GMT”中的“M”需要轉(zhuǎn)義符,因此它不被解釋。格式化并不修改 DateTime 的值,所以您必須在格式化之前將值調(diào)整為 GMT。
s 可排序的日期/時(shí)間模式;符合 ISO 8601 顯示由與當(dāng)前線程關(guān)聯(lián)的
DateTimeFormatInfo.SortableDateTimePattern 屬性定義的模式或者由指定格式提供程序定義的模式。屬性引用
CultureInfo.InvariantCulture 屬性,格式遵照自定義模式“yyyy-MM-ddTHH:mm:ss”。
u
通用的可排序日期/時(shí)間模式 顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.UniversalSortableDateTimePattern
屬性定義的模式或者由指定格式提供程序定義的模式。因?yàn)樗嵌x的標(biāo)準(zhǔn),并且屬性是只讀的,因此無論區(qū)域性或格式提供程序是什么,模式總是相同的。格式化
遵照自定義模式“yyyy-MM-dd HH:mm:ssZ”。格式化日期和時(shí)間時(shí)不進(jìn)行時(shí)區(qū)轉(zhuǎn)換;所以,請(qǐng)?jiān)谑褂酶袷秸f明符之前將本地日期和時(shí)間轉(zhuǎn)換為通用時(shí)間。
U 通用的可排序日期/時(shí)間模式 顯示由與當(dāng)前線程關(guān)聯(lián)的 DateTimeFormatInfo.FullDateTimePattern
屬性定義的模式或者由指定格式提供程序定義的模式。請(qǐng)注意,顯示的時(shí)間是通用時(shí)間,而不是本地時(shí)間。
Y 或 y 年月模式 顯示由與當(dāng)前線程關(guān)聯(lián)的
DateTimeFormatInfo.YearMonthPattern 屬性定義的模式或者由指定格式提供程序定義的模式。
任何其他單個(gè)字符 未知說明符
下面的示例說明了標(biāo)準(zhǔn)格式字符串如何與 DateTime 對(duì)象一起使用。
[Visual Basic]
Dim dt As
DateTime = DateTime.Now
Dim dfi As DateTimeFormatInfo = New
DateTimeFormatInfo()
Dim ci As CultureInfo = New
CultureInfo("de-DE")
' Make up a new custom DateTime pattern, for
demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"
' Use the
DateTimeFormat from the culture associated
' with the current
thread.
Console.WriteLine( dt.ToString("d") )
Console.WriteLine(
dt.ToString("m") )
' Use the DateTimeFormat from the specific culture
passed.
Console.WriteLine( dt.ToString("d", ci ) )
' Use the settings
from the DateTimeFormatInfo object passed.
Console.WriteLine(
dt.ToString("m", dfi ) )
' Reset the current thread to a different
culture.
Thread.CurrentThread.CurrentCulture = New
CultureInfo("fr-BE")
Console.WriteLine( dt.ToString("d")
)
[C#]
DateTime dt = DateTime.Now;
DateTimeFormatInfo dfi = new
DateTimeFormatInfo();
CultureInfo ci = new CultureInfo("de-DE");
//
Make up a new custom DateTime pattern, for demonstration.
dfi.MonthDayPattern
= "MM-MMMM, ddd-dddd";
// Use the DateTimeFormat from the culture
associated
// with the current thread.
Console.WriteLine(
dt.ToString("d") );
Console.WriteLine( dt.ToString("m") );
// Use the
DateTimeFormat from the specific culture passed.
Console.WriteLine(
dt.ToString("d", ci ) );
// Use the settings from the DateTimeFormatInfo
object passed.
Console.WriteLine( dt.ToString("m", dfi ) );
// Reset
the current thread to a different
culture.
Thread.CurrentThread.CurrentCulture = new
CultureInfo("fr-BE");
Console.WriteLine( dt.ToString("d") );
format函數(shù)
Dim MyDateTime As Date = #1/27/2001 5:04:23
PM#
Dim MyStr As String
' Returns current system time in
the system-defined long time format.
MyStr = Format(Now(),
"Long Time")
' Returns current system date in the
system-defined long date format.
MyStr = Format(Now(), "Long
Date")
' Also returns current system date in the
system-defined long date
' format, using the single letter
code for the format.
MyStr = Format(Now(), "D")
' Returns
the value of MyDateTime in user-defined date/time
formats.
MyStr = Format(MyDateTime, "h:m:s") ' Returns
"5:4:23".
MyStr = Format(MyDateTime, "hh:mm:ss tt") '
Returns "05:04:23 PM".
MyStr = Format(MyDateTime, "dddd, MMM
d yyyy") ' Returns "Saturday,
' Jan 27 2001".
MyStr
= Format(MyDateTime, "HH:mm:ss") ' Returns "17:04:23"
MyStr
= Format(23) ' Returns "23".
' User-defined numeric
formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns
"5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns
"334.90".
MyStr = Format(5, "0.00%") ' Returns
"500.00%".
string類型的轉(zhuǎn)換
CBool 示例
本示例使用 CBool 函數(shù)將表達(dá)式轉(zhuǎn)換為
Boolean 值。如果表達(dá)式的計(jì)算結(jié)果為非零值,CBool 將返回 True;否則返回 False。
Dim A, B,
C As Integer
Dim Check As Boolean
A = 5
B =
5
Check = CBool(A = B) ' Check is set to True.
'
...
C = 0
Check = CBool(C) ' Check is set to
False.
CByte 示例
本示例使用 CByte 函數(shù)將表達(dá)式轉(zhuǎn)換為 Byte。
Dim
MyDouble As Double
Dim MyByte As Byte
MyDouble =
125.5678
MyByte = CByte(MyDouble) ' MyByte is set to
126.
CChar 示例
本示例使用 CChar 函數(shù)將 String 表達(dá)式的第一個(gè)字符轉(zhuǎn)換為 Char
類型。
Dim MyString As String
Dim MyChar As Char
MyString
= "BCD" ' CChar converts only first character of
string.
MyChar = CChar(MyString) ' MyChar is set to
"B".
CChar 的輸入?yún)?shù)必須是 String 數(shù)據(jù)類型。由于 CChar 不能接受數(shù)值數(shù)據(jù)類型,因此無法使用
CChar 將數(shù)字轉(zhuǎn)換為字符。本示例獲取一個(gè)表示代碼數(shù)據(jù)點(diǎn)(字符代碼)的數(shù)字,然后將其轉(zhuǎn)換為對(duì)應(yīng)的字符。它使用 InputBox
獲取數(shù)字字符串,并使用 CInt 將該字符串轉(zhuǎn)換為 Integer 類型,然后使用 ChrW 將該數(shù)字轉(zhuǎn)換為 Char
類型。
Dim MyDigits As String ' Input string of digits
to be converted.
Dim CodePoint As Integer ' Number to
be represented as a character.
Dim MyChar As Char
MyDigits
= InputBox("Enter code point of character:")
CodePoint =
CInt(MyDigits) ' Convert entire string to Integer.
MyChar
= ChrW(CodePoint) ' MyChar is set to Char value of
code point.
CDate 示例
本示例使用 CDate 函數(shù)將字符串轉(zhuǎn)換為 Date
值。通常,建議不要使用硬編碼的日期和時(shí)間作為字符串(如下例所示)。而應(yīng)使用日期文本和時(shí)間文本,如 #Feb 12、1969# 和
#4:45:23 PM#。
Dim MyDateString, MyTimeString As String
Dim
MyDate, MyTime As Date
MyDateString = "February 12,
1969"
MyTimeString = "4:35:47 PM"
' ...
MyDate =
CDate(MyDateString) ' Convert to Date data type.
MyTime =
CDate(MyTimeString) ' Convert to Date data type.
CDbl
示例
本示例使用 CDbl 函數(shù)將表達(dá)式轉(zhuǎn)換為 Double。
Dim MyDec As Decimal
Dim
MyDouble As Double
MyDec = 234.456784D ' Literal type
character D makes MyDec a Decimal.
MyDouble = CDbl(MyDec *
8.2D * 0.01D) ' Convert result to a Double.
CDec
示例
本示例使用 CDec 函數(shù)將數(shù)值轉(zhuǎn)換為 Decimal。
Dim MyDouble As
Double
Dim MyDecimal As Decimal
MyDouble =
10000000.0587
MyDecimal = CDec(MyDouble) ' Convert to
Decimal.
CInt 示例
本示例使用 CInt 函數(shù)將一個(gè)值轉(zhuǎn)換為 Integer。
Dim
MyDouble As Double
Dim MyInt As Integer
MyDouble =
2345.5678
MyInt = CInt(MyDouble) ' MyInt is set to
2346.
CLng 示例
本示例使用 CLng 函數(shù)將多個(gè)值轉(zhuǎn)換為 Long。
Dim MyDbl1,
MyDbl2 As Double
Dim MyLong1, MyLong2 As Long
MyDbl1 =
25427.45
MyDbl2 = 25427.55
MyLong1 = CLng(MyDbl1) '
MyLong1 contains 25427.
MyLong2 = CLng(MyDbl2) ' MyLong2
contains 25428.
CObj 示例
本示例使用 CObj 函數(shù)將一個(gè)數(shù)值轉(zhuǎn)換為
Object。Object 變量本身只包含一個(gè)四字節(jié)的指針,該指針指向賦給 Object 變量的 Double 值。
Dim
MyDouble As Double
Dim MyObject As Object
MyDouble =
2.7182818284
MyObject = CObj(MyDouble) ' Double value is
pointed to by MyObject.
CShort 示例
本示例使用 CShort
函數(shù)將一個(gè)數(shù)值轉(zhuǎn)換為 Short。
Dim MyByte as Byte
Dim MyShort as
Short
MyByte = 100
MyShort = CShort(MyByte) ' Convert
to Short.
CSng 示例
本示例使用 CSng 函數(shù)將多個(gè)值轉(zhuǎn)換為 Single。
Dim
MyDouble1, MyDouble2 As Double
Dim MySingle1, MySingle2 As
Single
MyDouble1 = 75.3421105
MyDouble2 =
75.3421567
MySingle1 = CSng(MyDouble1) ' MySingle1 is set
to 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 is
set to 75.34216.
CStr 示例
本示例使用 CStr 函數(shù)將一個(gè)數(shù)值轉(zhuǎn)換為字符串。
Dim
MyDouble As Double
Dim MyString As String
MyDouble =
437.324
MyString = CStr(MyDouble) ' MyString is set to
"437.324".
本示例使用 CStr 函數(shù)將多個(gè) Date 值轉(zhuǎn)換為 String 值。
Dim MyDate
As Date
Dim MyString As String
' ...
MyDate = #February
12, 1969 00:00:00# ' INVALID format.
' Date literals
must be in the format #m/d/yyyy# or they are invalid.
'
...
MyDate = #2/12/69 00:00:00# ' Time is midnight.
'
The neutral time value of 00:00:00 is suppressed in the
conversion.
MyString = CStr(MyDate) ' MyString is set to
"2/12/1969".
' ...
MyDate = #2/12/69 00:00:01# ' Time
is one second past midnight.
' The time component becomes
part of the converted value.
MyString = CStr(MyDate) '
MyString is set to "2/12/1969 12:00:01 AM".
CStr
始終以符合當(dāng)前區(qū)域設(shè)置的標(biāo)準(zhǔn)短格式呈現(xiàn) Date 值,如“6/15/2003 4:35:47 PM”。