格式化数字、日期和时间

在显示数字的格式上,象日期和时间的格式一样,Visual Basic 也提供了巨大的灵活性。对于数字、日期和时间,可以很容易用国际格式来显示。

Format 函数把数字值转换为文本字符串,从而能够对该字符串的外观进行控制。例如,可以指定小数的位数、前导和尾部零,以及货币格式。它的语法是:

Format(expression[, format]

expression 参数指定要转换的数值,format 参数是字符串,该串是由一些符号组成的,这些符号用于说明如何确定该数字的格式。下表列出了一些最常使用的一些符号。

符号 描述
0 数字保留区,如果恰当,在本位置打印尾部或前导零。
# 数字保留区,不打印尾部或前导零。
. 小数保留区。
, 千位分隔符。
– + $ ( ) space 字母字符,各种字符,都要按格式字符串中打入的原样,精确地显示出来。

firstdayofweek 参数是指定本星期第一天的常数,而 firstweekofyear 参数是指定本年度第一天的常数。两者都是可选的。关于这些常数的更详细信息,请参阅《语言参考》的“Format 函数”。

命名的格式

Visual Basic 提供了几种与 Format 函数一起使用的标准格式。在 Format 函数的 format 参数中,可使用名字来指定这些格式,而不用在 format 参数中指定符号。格式名总是用双引号 ("") 括起来。

下面的表格列出了可使用的格式名。

命名的格式 描述
General Number 显示没有千位分隔符的数字。
Currency 显示带千位分隔符的数字;在小数点的右边显示两位数字。而输出则依据用户的系统设置。
Fixed 在小数点的左边至少显示一位数字,在小数点的右边显示两位数字。
Standard 显示带千位分隔符的数字,在分隔符的左边至少显示一位数字,而在分隔符的右边至少显示两位。
Percent 该值乘以 100,在后面加上一个百分号。
Scientific 用标准的科学记数法。
General Date 如果 expression 同时包含了日期和时间,则显示它们。如果 expression 只包含日期或只包含时间,则缺少的信息不显示。日期的显示取决于用户的系统设置。
Long Date 使用用户的系统设置所指定的 Long Date 格式。
Medium Date 使用 dd-mmm-yy 格式(例如,03-Apr-93)。日期的显示取决于用户的系统设置。
Short Date 使用用户的系统设置所指定的 Short Date 格式。
Long Time 用用户系统的长时间格式显示时间,包括时、分、秒。
Medium Time 使用 hh:mm AM/PM 格式,显示小时、分钟和 AM 或 PM。
Short Time 使用 hh:mm 格式,显示小时和分钟。
Yes/No 任何非零数字值(通常是 -1)为 Yes,零为 No。
True/False 任何非零数字值(通常是 -1)为 True,零为 False。
On/Off 任何非零数字值(通常是 -1)为 On,零为 Off。

Format 函数还支持其它许多特殊字符,如百分比保留区和指数。

详细信息 请参阅《语言参考》的“Format 函数”。

数字的格式

以下数字转换的假设是,Windows“控制面板”中的“区域”,被设为“英语(美国)”。

格式语法 效果
Format(8315.4, “00000.00”) 08315.40
Format(8315.4, “#####.##”) 8315.4
Format(8315.4, “##,##0.00”) 8,315.40
Format(315.4,“$##0.00”) $315.40

小数分隔符是句号 (.),千位分隔符是逗号 (,)。然而,分隔符的正确显示得依 Windows“控制面板”中的“区域”的设置而定。

打印格式化的日期和时间

为了打印有格式化的日期和时间,应使用具有代表日期和时间符号的 Format 函数。以下示例用 Now 和 Format 函数来标识和格式化当前的日期和时间。下述示例的假设是,Windows“控制面板”中,“区域设置”对话框中的设置为“英语(美国)”。

格式语法 效果
Format(Now, “m/d/yy”) 1/27/93
Format(Now, “dddd, mmmm dd, yyyy”) Wednesday, January 27, 1993
Format(Now, “d-mmm”) 27-Jan
Format(Now, “mmmm-yy”) January-93
Format(Now, “hh:mm AM/PM”) 07:18 AM
Format(Now, “h:mm:ss a/p”) 7:18:00 a
Format(Now, “d-mmmm h:mm”) 3-January 7:18

通过使用“dddd”和“ttttt”格式的 Now 函数,可以把当前日期和时间,按照在 Windows“控制面板”中的“区域设置”对话框内所选择的相应格式,进行打引。

国家/地区 格式语法 效果
Sweden Format(Now, “ddddd ttttt”) 1992-12-31 18.22.38
United Kingdom Format(Now, “ddddd ttttt”) 31/12/92 18:22:38
Canada (French) Format(Now, “ddddd ttttt”) 92-12-31 18:22:38
United States Format(Now, “ddddd ttttt”) 12/31/92 6:22:38 PM

详细信息 当使用 Format 函数时,有关国际问题的详细信息,请参阅“国际化”中的“区域识别函数”。有关基于系统本地日期的详细信息,请参阅“国际化”中的“用 Visual Basic 编写国际代码”。