现在的位置: 首页 > 综合 > 正文

Format String 之二(用户定义的数字格式)

2013年07月29日 ⁄ 综合 ⁄ 共 2040字 ⁄ 字号 评论关闭

下表标识可用于创建用户定义的数字格式的字符。这些字符可用于生成 Format 函数的 style 参数:

字符 说明
显示没有任何格式设置的数字。
(0) 数字占位符。显示一个数字或 0。如果表达式在格式字符串中出现 0 的位置上有数字,则显示该数字;否则在该位置显示 0。

如果数字的位数少于格式表达式中 0 的个数(小数点任一侧),则显示前导零或尾随零。如果数字的小数点分隔符右侧的位数多于格式表达式中小数点分隔符右侧零的个数,则将数字舍入到与零的个数相同的小数位置。如果数字的小数点分隔符左侧的位数多于格式表达式中小数点分隔符左侧零的个数,则不做任何修改地显示额外的数字。

(#) 数字占位符。显示一个数字或不显示任何数字。如果表达式在格式字符串中出现 # 字符的位置上有数字,则显示该数字;否则该位置不显示任何数字。

该符号与 0 数字占位符的作用相似,不同的是当数字的位数少于格式表达式中小数点分隔符任一侧 # 字符的个数时,不显示前导零和尾随零。

(.) 小数点占位符。小数点占位符确定小数点分隔符两侧显示的数字个数。如果格式表达式中该符号的左侧只包含 # 字符,则小于 1 的数字将以小数点分隔符开头。若要显示与小数一起显示的前导零,请将零用作小数点分隔符左侧的第一个数字占位符。在某些区域设置中,逗号用作小数点分隔符。格式化输出中用作小数点占位符的实际字符取决于系统所识别的数字格式。这样,即使所在的区域使用逗号作为小数点占位符,也应该使用句点作为格式中的小数点占位符。格式化的字符串将以相应于区域设置的正确格式显示。
(%) 百分比占位符。用 100 乘以表达式。在格式字符串中出现百分比占位符的位置插入百分比字符 (%)。
(,) 千位分隔符。在小数点分隔符左侧有四个或更多位数的数字中,千位分隔符将千位与百位分隔开。如果格式中的千位分隔符包含在数字占位符(0#)中,则指定了千位分隔符的标准用法。紧挨在小数点分隔符左侧(不论是否指定小数)或用作字符串中最右边字符的千位分隔符表示:“通过将数字除以 1,000 来换算数字,并根据需要进行舍入”。

例如,可以使用格式字符串“##0,.”将一亿表示为 100,000。小于 1,000 但大于或等于 500 的数字显示为 1,小于 500 的数字显示为 0。此处使用两个相邻的千位分隔符表示按一百万的因子进行换算,每增加一个分隔符,因子就乘以 1,000。

如果多个分隔符不是位于紧挨小数点分隔符左侧的位置或字符串中最右边的位置,则只将它们视作指定使用千位分隔符。在某些区域设置中,句点用作千位分隔符。格式化输出中用作千位分隔符的实际字符取决于系统所识别的“数字格式”。这样,即使所在的区域使用句点作为千位分隔符,也应该使用逗号作为格式中的千位分隔符。格式化的字符串将以相应于区域设置的正确格式显示。

(:) 时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由系统设置确定。
(/) 日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由系统设置确定。
(E- E+ e- e+) 科学格式。如果格式表达式在 E-E+e-e+ 的左侧至少包含一个数字占位符(0#),则数字将显示为科学型格式,并在数字及其指数之间插入 Ee。左侧数字占位符的个数确定指数中数字的个数。使用 E-e- 在负指数旁边放置减号。使用 E+e+ 在负指数旁边放置减号,在正指数旁边放置加号。还必须在该符号的右侧包含数字占位符,才能获得正确的格式设置。
- + $ ( ) 原义字符。这些字符显示后的外观与在格式字符串中键入时的外观完全一样。若要显示列出的这些字符之外的字符,请在字符前加反斜杠 (/) 或将字符括在双引号 (" ") 中。
(/) 显示格式字符串中的下一个字符。若要将具有特殊意义的字符显示为原义字符,请在其前面加反斜杠 (/)。反斜杠本身不显示。使用反斜杠的效果与将下一个字符括在双引号中相同。若要显示反斜杠,请使用两个反斜杠 (//)。

不能显示为原义字符的字符有:日期格式字符和时间格式字符(a、c、d、h、m、n、p、q、s、t、w、y、/ 和 :),数字格式字符(#、0、%、E、e、逗号和句点),以及字符串格式字符(@、&、<、> 和 !)。

("ABC") 显示双引号 (" ") 内的字符串。若要在代码内将字符串包含在 style 参数中,必须使用 Chr(34) 来包含文本(34 是引号 (") 的字符代码)。






更多


抱歉!评论已关闭.