数字格式

如果“格式”属性不以百分比符号 (%) 开头,并且不包含任何 (@) 符号,则将按数字格式代码进行格式化。 这种格式化方式要求“字符串”是一个浮点值。 “格式”属性支持以下格式说明符:

说明符

说明

“0”数字占位符

如果被格式化的值在格式字符串中“0”出现的位置上有一个数字,那么该数字将被复制到输出字符串中。 否则,会将“0”存储在输出字符串中的那个位置。

# 数字占位符

如果被格式化的值在格式字符串中“#”出现的位置上有一个数字,那么该数字将被复制到输出字符串中。 否则,输出字符串中的那个位置上不会存储任何东西。

.小数点

格式字符串中的第一个“.”字符决定了小数点分隔符在格式化值中的位置;任何额外的“.”字符将被忽略。

, 千位分隔符

如果格式字符串包含一个或多个“,”字符,输出时将在小数点左边的每组三位数之间插入一个千位分隔符。 格式字符串中“,”字符的位置和数量不影响输出,除了要表明使用了千位分隔符的情况。

E+ 科学计数法

如果格式字符串中包含“E+”、“E-”、“e+”或“e-”中的任何一个字符串,则使用科学计数法对数字进行格式化。 一组最多由 4 个“0”组成的字符可以紧跟在“E+”、“E-”、“e+”或“e-”之后,以决定指数中数字的最小位数。 “E+”和“e+”格式会为正指数输出一个加号,为负指数输出一个负号。 “E-”和“e-”格式仅为负指数输出符号字符。

'xx'/"xx"

用单引号或双引号括起来的字符按原样输出,不会影响格式。

;

这个字符在格式字符串中分隔正数、负数和零。

格式字符串中小数点前最左的“0”和格式字符串中小数点后最右的“0”的位置决定了输出字符串中始终出现的数字范围。

被格式化的数字通常按照小数点右边数字占位符(“0”或“#”)的数量来四舍五入至小数位。 如果格式字符串不包含小数点,则被格式化的值将四舍五入至最接近的整数。

如果被格式化的数字的小数点分隔符左边的数字多于格式字符串内“.”字符左边的数字占位符,多出的数字会输出于第一个数字占位符前。

为了让正、负和零值具有不同的格式,格式字符串可以包含 1 到 3 个由分号分隔的部分:

  • 一个部分:格式字符串适用于所有值。
  • 两个部分:第一部分适用于正值和零值,第二部分适用于负值。
  • 三个部分:第一部分适用于正值,第二部分适用于负数,第三部分适用于零值。

如果用于负值的部分或用于零值的部分为空,即分隔该部分的分号之间没有任何内容,则使用用于正值的部分。

如果用于正值的部分为空,或者如果整个格式字符串为空,则使用具有 15 位有效数字的通用浮点格式对该值进行格式化。 如果值在小数点左边有超过 18 位数字,并且格式字符串没有指定科学记数法,也会使用通用浮点格式。

下表列出了在“格式”和“字符串”属性中输入的值的示例:

格式属性

字符串属性:

1.234

字符串属性:

-1.234

字符串属性:

0.5

字符串属性:

0

0

1.234

-1.234

0.5

0

0.00

1.234.00

-1.234.00

0.50

0.00

#.##

1.234

-1.234

.5

 

#,##0.00

1.234.00

-1,234.00

0.50

0.00

#,##0.00;(#,##0.00)

1.234.00

(1,234.00)

0.50

0.00

#,##0.00;;Zero

1.234.00

-1,234.00

0.50

Zero

0.000E+00

0.000E+03

-1.234E+03

5.000E-01

0.000E+00

#.###E-0

1.234E3

-1.234E3

5E-1

0E0