IBM Lotus Symphony


Format 函数 [运行时]

将数字转换为字符串,然后根据指定的格式来应用格式。

语法:

Format (Number [, Format As String])

返回值:

字符串

参数:

Number:要转换为格式字符串的数字表达式。

Format:指定 Number 格式代码的字符串。如果不指定 Format,Format 函数的功能类似于 str 函数。

格式代码

以下列表描述了可以应用数字格式的代码:

0:Number 中,如果与格式代码中的 0 相对应的位置上有数字,那么显示该数字,否则显示零。

如果 Number 表达式中小数点任意一侧的位数小于格式代码中零的个数,将显示前导零或后置零。如果 Number 中小数分隔符左侧的位数多于格式代码中零的个数,就会不加修改地显示多余的位。

Number 中小数位的舍入取决于 Format 代码中小数分隔符后面出现的零的个数。

#:如果 Number 中与 Format 的 # 占位符相对应的位置上有数字,那么显示该数字,否则此位置不显示任何值。

此符号的功能与 0 类似,区别在于,当格式代码中的 # 占位符位数多于 Number 中的数字位数时,不显示前导零或后置零。而只显示有关的数字。

.:小数占位符用于确定小数分隔符左边和右边的位数。

如果格式代码中此符号左边仅含有 # 占位符,那么纯小数将以小数分隔符作为起始字符。要使小数始终显示有前导零,请用 0 作为小数分隔符左边第一位的占位符。

%:将数字乘以 100,并在格式代码中该数字出现的位置处插入百分号(%)。

E- E+ e- e+:如果格式代码中,在符号 E-、E+、e- 或 e+ 的右侧至少包含一个数字占位符(0 或 #),那么将数字格式将为科学计数法(即指数格式)。在数字和指数之间插入字母 E 或 e。指数位数取决于符号右边占位符的位数。

如果指数为负数,请在包含 E-、E+、e- 和 e+ 的指数前显示减号。如果指数为正数,请仅在包含 E+ 或 e+ 的指数前显示加号。

如果格式代码中含有分隔符且分隔符前后有数字占位符(0 或 #),就会显示千位分隔符。

句点是否用作千位分隔符和小数分隔符取决于所在的地区设置。如果在 Basic 源代码中直接输入数字,请始终使用句点作为小数分隔符。而实际的小数分隔符取决于系统中设置的数字格式。

- + $ ( ) 空格:直接在格式代码中输入的加号(+)、减号(-)、美元符号($)、空格或括号会显示为文本字符。

如果要显示其他字符,那么必须在字符前加反斜杠(\),或在字符前后加引号(" ")。

\:显示格式代码中反斜杠后面的字符。

要将格式代码中具有特殊含义的字符作为文本字符显示,必须在这些字符前加上反斜杠。反斜杠本身并不会显示,除非在格式代码中输入两个反斜杠(\\)。

在格式代码中,为了显示为文本字符而必须在前面加反斜杠的字符包括日期和时间格式字符(a、c、d、h、m、n、p、q、s、t、w、y、/、:)、数字格式字符(#、0、%、E、e、逗号、句点)和字符串格式字符(@、&、<、>、!).

也可以使用以下预设数字格式。除“General Number”之外,所有预设格式代码返回的数字都带有两位小数。

在使用预设格式时,格式名称的前后需要加上引号。

预设格式

General Number:显示格式与输入格式相同的数字。

Currency:在数字前插入美元符号并在负数前后加上括号。

Fixed:小数分隔符前至少显示一位数字。

Standard:显示数字时带有千位分隔符。

Percent:将数字乘以 100,并附加百分号。

Scientific:以科学计数法格式显示数字(例如,1000 显示为 1.00E+03)。

格式代码由三部分组成,各部分之间用分号分隔。三个部分依次定义正数、负数和零的格式。如果仅指定一种格式代码,那么所有数字都将采用这种代码。

Lotus® Symphony™ Basic 的工具 - 选项 - 语言设置 - 语言中,您可以设置用于控制数字、日期和货币格式的语言环境。在 Basic 格式代码中,小数点(.)始终用作占位符,代表您的语言环境中定义的十进制分隔符,并将由相应字符替换。

这同样适用于日期、时间和货币格式的语言环境设置。将根据您的语言环境设置来解释和显示 Basic 格式代码。

错误代码

5 无效的过程调用

示例:

Sub ExampleFormat

MsgBox Format(6328.2, "##,##0.00")

REM always use a period as decimal delimiter when you enter numbers in Basic source code.

REM displays for example 6,328.20 in English locale, 6.328,20 in German locale.

End Sub


产品反馈 | 其他文档 | 商标