JAVA中数字格式化

时间:2023-02-26 17:30:31

格式化数字

下表是可在Format函数中用于格式化数字的字符。

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

下面是一些例子,每行代码之后的注释是格式化后的结果。

Format(12,"000"'012
Format(12,"0"'12
Format(12,"0.00"'12.00
Format(12,"00.00"'12.00
Format(0.5,"0"'1
Format(0.5,"0.0"'0.5
Format(10.56,"0.0"'10.6
Format(10.56,"00.00"'10.56

# 数字占位符。显示一个数字或不显示任何数字。如果表达式在格式字符串中出现 # 字符的位置上有数字,则显示该数字;否则该位置不显示任何数字。
该符号与 0 数字占位符的作用相似,不同的是当数字的位数少于格式表达式中小数点分隔符任一侧 # 字符的个数时,不显示前导零和尾随零。

通过下面的代码,可以看出0和#作为格式字符的差别:

Format(10.56,"##.###"'10.56
Format(10.56,"00.000"'10.560
Format(12,"###"'12
Format(12,"000"'012

. 小数点占位符。小数点占位符确定小数点分隔符两侧显示的数字个数。如果格式表达式中该符号的左侧只包含 # 字符,则小于 1 的数字将以小数点分隔符开头。若要显示与小数一起显示的前导零,请将零用作小数点分隔符左侧的第一个数字占位符。

例如:

Format(0.56,"#.##"'.56
Format(0.56,"0.00"'0.56

% 百分比占位符。用100乘以表达式。在格式字符串中出现百分比占位符的位置插入百分比字符 (%)。

例如:

Format(0.56,"00.0%"'56.0%

, 千位分隔符。在小数点分隔符左侧有四个或更多位数的数字中,千位分隔符将千位与百位分隔开。

例如:

Format(12345,"#,###"'12,345
Format(123,"#,###"'123
Format(12345.67,"#,###.00"'12,345.67

E-
E+
e-
e+
科学格式。如果格式表达式在 E-E+e- 或 e+ 的左侧至少包含一个数字占位符(0 或 #),则数字将以科学格式显示,并在数字与其指数之间插入 E 或 e。左侧数字占位符的个数确定指数中数字的个数。使用 E- 或 e- 在负指数旁边放置减号。使用 E+ 或 e+ 在负指数旁边放置减号,在正指数旁边放置加号。还必须在该符号的右侧包含数字占位符,才能获得正确的格式设置。

例如:

Format(12345,"0.00E+00"'1.23E+04
Format(12345,"0.0000E+00"'1.2345E+04

-
+
$
(
)
原义字符。这些字符显示后的外观与在格式字符串中键入时的外观完全一样。若要显示列出的这些字符之外的某个字符,请在字符前加反斜杠 (\) 或将字符括在双引号 (" ") 中。

例如:

Output.Show(Format(1.23,"#0.00")) '1.23
Output.Show(Format(1.23,"\#0.00")) '#1.23
Output.Show(Format(1.23,"""value is"" 0.00")) 
'value is 1.23

\ 显示格式字符串中的下一个字符。若要将具有特殊意义的字符显示为原义字符,请在其前面加反斜杠 (\)。反斜杠本身不显示。使用反斜杠的效果与将下一个字符括在双引号中相同。若要显示反斜杠,请使用两个反斜杠 (\\)。

不能显示为原义字符的字符示例包括:日期格式字符和时间格式字符(acdhmnpqstwy/ 和 :);数字格式字符(#0%Ee、逗号和句点)以及字符串格式字符(@&<> 和 !)。

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


下表是预定义数字格式的名称,可以直接在Format函数中作为格式表达式使用。

格式名 说明
G 或 g 显示不带千位分隔符的数字。
C 或 c 显示带千位分隔符的数字;小数点分隔符右侧显示两个数字;数字前会自动加上货币符号。

例如:

Format(12345.67,"c"'¥12,345.67

F 或 f 小数点分隔符左侧至少显示一个数字,右侧至少显示两个数字。

例如:

Format(0.6,"f"'0.60

N 或 n 显示带千位分隔符的数字,其中小数点分隔符左侧至少有一个数字,右侧至少有两个数字。

例如:

Format(12345.6,"n"'12,345.60

Percent 将数字乘以 100 后显示,并在右侧追加百分号 (%);小数点分隔符右侧总是显示两个数字。

Format(0.6788,"Percent"'67.88%

P 或 p 将数字乘以 100 后带千分位分隔符显示,并在右侧追加百分号 (%);小数点分隔符右侧总是显示两个数字。

例如:

Format(10.6788,"P"'1,067.88%

Scientific 使用标准的科学表示法,提供两个有效位。

例如:

Format(12345678,"Scientific"'1.23E+07

E 或 e 使用标准的科学表示法,提供六个有效位。

Format(12345678,"e"'1.234568e+007

D 或 d 将数字显示为包含十进制(以 10 为基准)格式的数值的字符串。该选项仅支持整型(Byte、Short、Integer、Long)。
X 或 x 将数字显示为包含十六进制(以 16 为底)格式的数值的字符串。该选项仅支持整型(Byte、Short、Integer、Long)。

例如:

Format(12345678,"X"'BC614E

 


本页地址:http://www.foxtable.com/webhelp/scr/0361.htm