四、格式化函数
<一> 日期时间格式化函数
语法:FormatDateTime (exp As DateTime [, namedformat As DateFormat ]) As String
说明:依照参数namedformat指定的格式将参数exp的日期格式化,选择性参数namedformat属于DateFormat枚举,成员如下:
(1)DateFormat.GeneralDate:显示日期和(或)时间。若有日期部分,则会显示为简短日期;若有时间部分,则会显示为完整时间;若两者皆有,则会全显示。
(2)DateFormat.LongDate:使用计算机的区域选项中所指定的完整日期格式显示日期。
(3)DateFormat.ShortDate:使用计算机的区域选项中所指定的简短日期格式显示日期。
(4)DateFormat.LongTime:使用计算机的区域选项中所指定的时间格式来显示日期。
(5)DateFormat.ShortTime:使用24小时制(hh : mm)来显示时间。
如:FormatDateTime (#2/14/2002#, DateFormat.LongDate)会返回“2002年2月14日”;
FormatDateTime (#2/14/2002#, DateFormat.ShortDate)会返回“2002/2/14”。
<二> 货币值格式化函数FormatCurrency ()
语法:FormatCurrency (exp As Object [, numdigitsafterdecimal As Integer [, leadingdigit As Tristate [,negparen As Tristate [,groupDigits As TriState ]]]]) As Strong
说明:将参数exp设置成指定的货币格式,此货币值使用控制面板中区域选项所定义货币符。选择性参数numdigitsafterdecimal表示要显示小数点后面几们数,-1为采取系统默认值;选择性参数leadingdigit表示是否要在小于1的值前面加上0,属于Tristate枚举,成员如下表所示;选择性参数negparen表示是否要将负数用括号起来,属于Tristate枚举;选择性参数groupdigits表示加上分隔符来组合数字,属于Tristate枚举。例如: FormatCuurnct (12345.789, 2)会返回NT$123,456.79
Tristate枚举成员 |
值 |
Tristate.True |
True |
Tristate.False |
False |
Tristate.UseDefault |
区域选项的设置 |
<三> 数值格式化函数FormatNumber ()
语法:FormatNumber (exp As Object [, numdigitsafterdecinnal As Integer [,leadingdigit As Tristate [,negparen As Tristate [,Groupdigits As Tristate ]]]] As String
说明:将参数exp设置成指定的数值格式。选择参数同上(即同货币值函数参数)
<四> 百分比格式化函数FormatPerCent ()
语法:FormatPerCent (exp As Object [, numdigitsafterdecinnal As Integer [,leadingdigit As Tristate [,negparen As Tristate [,Groupdigits As Tristate ]]]] As String
说明:将参数exp设置成指定的百分比格式(乘以100)选择性参数同上。
<五> 格式化函数Format ()
语法:Format (exp As Object [, style As String]) As String
说明:根据style指定格式将exp格式化。选择性参数style为任何预先定义的格式化表达式或用户自定义的格式化表列,如下两个表:
预定义的格式 |
说明 |
General Date或G |
显示日期/时间,例如Format (Now ,”General Date”)会返回系统目前的日期/时间,好比是2002/1/31 下午12: 26: 03。若没有分数部分,则只会显示日期;若没有整数部分,则只会显示时间。 |
Long Date或D |
以系统的完整日期格式显示日期。如Format (Now, “Long Date”)为: 2006年1月28日 |
Medium Date |
以应用程序版本的中等日期格式显示。如Format (Now, “Medium Date”)返回2006年1月28日 |
Short Date或 d |
以系统的短日期格式显示时间。如 Format (Now, “Short Date”)返回2006/1/28 |
Long Time或T |
以系统的完整时间格式显示时间,如Format (Now, “Long Time”)返回12:00:00 |
Medium Time |
以时分及上午下午显示12小时时间格式的时间。 |
Short Time或T |
以24小时的时间格式显示时间。 |
f |
根据控件面板的区域选项设置的格式来显示完整日期及简短时间。 |
F |
根据控件面板的区域选项设置的格式来显示完整日期及完整时间 |
g |
根据控件面板的区域选项设置的格式来显示短日期及短时间。 |
M,m |
显示几月几日。 |
R,r |
根据格林威治标准时间(GMT)来格式化日期及时间。 |
s |
根据可排序的索引来格式化日期及时间。 |
u |
根据GMT可排序的索引来格式化日期及时间。 |
U |
根据GMT以完整日期及完整时间来格式化时间。 |
y |
根据年份及月份来格式化日期。 |
GeneralNumber |
显示的数字没有千分位符号。如Format (12345.6789, “GeneralNumber”)返回: 12345.6789。 |
Currency |
显示的数值有千分位符号,小数点右边会显示两位。如Format (12345.678, “Currency”)返回: 12,345.68。 |
Fixed |
小数点左边至少一位数,右边两位数。例如Format (12345.678, “Fixed”)返回1234567.89%。 |
Standard |
显示的数值有千分位号,小数点左边至少有一位数,右边有两位数。如Format (12345.6789, “Standard”)返回12,345.68。 |
Percent: |
以百分比格式显示,小数点右边有两位数,例如 Format (12345.6789, “Percent”)返回1234567.89%。 |
Scientific |
使用标准科学符号。如 format (12345.6789, “Scientific”)返回1.23E+04。 |
D或d |
将数值显示为含有小数点格式的数值(十进制),只有整数数类型才支持此项。如Format (4096, “D”)返回4096 |
X或x |
将数值显示为含有十六进制的数值,只有整数数值类型才支持此项。如 Format (4096, “X”)返回: 1000。 |
Yes/No |
或数字为0,显示NO,否则显示YES。如 Format (12345.6789, “Yes/NO”)返回YES。 |
True/False |
若数字为0,显示Flase,否则显示Yes。如 Format (12345.6789, “True/False”返回True. |
On/Off |
若数字为0,显示Off,否则显示On |
用户定义的数值格式化字符 |
说明 |
# 和 0 |
# 或0表示一个数字,# 或0的个数决定了数值显示的长度。如果显示的数值的长度小于 # 或 0 的长度, 对于# 符号:无论是整数部分还是小数部分都不补零;对于0符号:整数在左端补零,小数在右端补零。如果显示的数值的长度大于 # 或 0的长度,对于 # 符号和 0 符号:整数部分都按数值的实际位数输出,小数部分都只显示到有有#号的位置,最后一位四舍五入。 |
. |
. 用于显示小数点。小数点与格式符 # 和 0 结合使用,用于指定小数的位数,多余的位数按四舍五入处理。如Format(123.456, “0000.00”)结果为:0123.46 |
, |
,(逗号)用来在数字中插入千分号。即从数值的小数点靠近左边的第一位开始,每3位插入一位千分号。逗号可放在小数点左边的任何位置。如 |
% |
% 用于输出百分号。把数值乘以100在后面加上百分号。通常放在格式字符串的后面用来输出百分号。如Format(12.456, “###.##%”) 结果为:1245.6 |
$ |
$放在格式字符串起始位置,用于美元符号输出,可在显示的数值前面加$符号。如Format(1234.567,”$###.##”)结果为:$1234.57 |
+或- |
+或-通常放在格式字符串的前面。用来输出正号或负号。如Format(3456.012,”+###.##”)结果为+3456.01;Format(3456.012,”-###.##”) |
E+或E- |
E+或E- 用于数值的指数形式。如 Format(3456.012,”#.###E+”)结果为:3.456E+03 |
:或 / |
:为时间分隔符;/ 为日期分隔符。 |
“” |
将双引号“”内的字符串显示出来。 |
M、MM、MMM、MMMM |
M是以没有零开头地显示(1~12);MM以零开头的数字来显示(01!12);MMM是以简写表示月;MMMM是以命名表示月。如:Format(#1/13/2006#, “MMMM”)返回“一月” |
d、d d、d d d、d d d d |
d以没有零开头的数字来显示;d d是以有零开头的数字来显示;d d d是以简写来表示天;d d d d是以命名来表示天。 |
gg |
显示纪年。例如:Format(#1/32006#,”gg”)返回“公元” |
H、HH、h、hh、m、mm、s、ss |
H是以24小时制,没有零开头的数字将小时显示成数字(0~23);HH是以24小时制,有零开头的数字来显示小(0~23);h是以12小时制,没有零开头的数字将小时显示成数字;hh是以12小时制,有零开头的数字来显示小时;m是以没有零开头的数字来显示分(0~59);mm是以有零开头的数字来显示分(00~59);s是以没有零开头的数字来显示秒(0~59);ss是以有零开头的数字来显示秒(00~59)。如Format(#02:31:50 pm#, “hh:mm:ss”)返回02:31:50;Format(#02:31:50 pm#, “HH:mm:ss”) 返回14:31:50 。 |
f |
f显示秒数的小数部分。如f f会显示至百分之一秒; f f f会显示至万分之一秒,最多可以使用7个f符号。 |
t |
使用12小时制,同时在正午之前的任何小时加上大写A,在正午与11:59 pm之前的任何小时加上pm。 |
t t |
使用12小时制,同时在正午之前任何小时加上大写Am;在下午与11:59 pm之前的任何小时加上pm。 |
y、y y、y y y、y y y y |
y是以一位数来表示年(0~9);y y是以两位数来表示(00~99);y y y和y y y y是以四位数来表示年。如Format(#1/3/2006#, "yyyy-MMMM-dd")返回2006-一月-03 |
:2、22、222 |
:2是显示时区差,而且还需要加上前缀零(如-8);22是显示时区时差,而且要加上前缀零(如-08);222是显示完整的时区差(如-08:00) |
:/ % |
:是时间分割符;/是日期分割符;%是用来指示应将后面的字符当作一字母格式读取,而不管是否还跟着任何字母。 |