在显示数字的格式上,象日期和时间的格式一样,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 编写国际代码”。