Format 函数
      下面表格标识了一些可用来创建用户自定义数值格式的字符:字符 说明 
无 显示没有格式的数值。 
(0) 数字占位符。显示一位数字或是零。如果表达式在格式字符串中 0 的位置上有一位数字存在,那么就显示出来;否则,就以零显示。如果数值的位数少于格式表达式中零的位数(无论是小数点的左方或右方),那么就把前面或后面的零补足。如果数值的小数点右方位数多于格式表达式中小数点右面零的位数,那么就四舍五入到有零的位数的最后一位。如果数值的小数点左方位数多于格式表达式中小数点左面零的位数,那么多出的部分都要不加修饰地显示出来。 
(#) 数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中“#”的位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示。 
此符号的工作原理和“0”数字占位符大致相同,不同之处只有在当表达式中数值的位数少于“#”的位数(无论是小数点左方或右方)时,不会把前面或后面的零显示出来。
 
(.) 小数点占位符。在一些国别是用逗号来当小数点的。小数点占位符用来决定在小数点左右可显示多少位数。如果格式表达式在此符号左边只有正负号,那么小于 1 的数字将以小数点为开头。如想在小数前有“0”的话,那么请在小数点占位符前加上“0”这个数字占位符。小数点占位符的实际字符在格式输出时要看系统的数字格式而定。 
(%) 百分比符号占位符。表达式乘以 100。而百分比字符 (%) 会插入到格式字符串中出现的位置上。 
(,) 千分位符号占位符。在一些国别,是用句点来当千位符号。千位符号主要是把数值小数点左边超过四位数以上分出千位。如果格式中在数字占位符(0 或 #)周围包含有千分位符号,则指定的是标准的千分位符号使用法。两个邻近的千分位符号或一个千分位符号紧接在小数点左边(不管小数位是否指定),其意思为“将数值除以 1000,按需要四舍五入”。例如,可以用格式字符串 "##0,," 将 1 亿表示成 100。数值小于 1 百万的话表示成“0”,两个邻近的千分位符号除了紧接在小数点左边以外,在任何位置出现时均简单地视为指定了使用千分位符号。小数点占位符的真正字符在格式输出时,需视系统识别的数字格式而定。 
(:) 时间分隔符。在一些国别,可能用其他符号来当时间分隔符。在格式化时间值时,时间分隔符可以用来分隔时、分和秒。时间分隔符的真正字符在格式输出时,取决于系统的设置。 
(/) 日期分隔符。在一些国别,可能用其他符号来当日期分隔符。在格式化日期数值时,日期分隔符可以用来分隔年、月、日。日期分隔符的真正字符在格式输出时,取决于系统设置。 
(E- E+ e- e+) 科学格式。如果格式表达式在 E-、E+、e- 或 e+ 的右方含有至少一个数字占位符(0 或 #),那么数值将表示成科学格式,而 E 或 e 会被安置在数字和指数之间。E 或 e 右方数字占位符的个数取决于指数位数。使用 E- 或 e- 时,会用减号来表示负的乘幂。使用 E+ 或 e+ 时,会用减号来表示负的乘幂并用加号来表示正的乘幂。 
- + $ ( ) 显示一个原义字符。如想显示那些列出的字符之外的字符时,可以用反斜杠 ( \ ) 字符作前缀或以双引号 (" ") 括起来。 
(\) 将格式字符串中下一个字符显示出来。如想显示一作为原义字符并有特殊含义的字符,可将此字符置于反斜杠 (\) 之后。反斜杠本身并不会显示出来。而使用反斜杠 (\) 的效果和使用双引号是一样的。如想显示反斜杠字符,可使用两个反斜杠 (\\)。 
那些不能显示为原义字符的字符是日期格式字符和时间格式字符(a, c, d, h, m, n, p, q, s, t, w, y, / 和 :)、数值格式字符(#, 0, %, E, e, 逗点和句点)和字符串格式字符(@, &, <, > 和 !)。
 
("ABC") 显示双引号 (" ") 之内的字符串。如在代码中想在 format 中包含一个字符串,必须用 Chr(34) 将文本括起来(34 为双引号 (") 的字符代码)。 

解决方案 »

  1.   

    Format(12345.6,"$###,#0.00")
    $:表示要在最前面显示$“美圆符号”
    #:如果位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示
    ,:千位符号显示。
    0.00:小数点后显示2位。
      

  2.   

    Format(12345.6,"$###,#0.00")  -->$12,345.60
    Format(12345.6,"$###,##.##")  -->$12,345.6
    Format(Date(),"yy-mm-dd")     -->02-09-11
    Format(Date(),"yyyy/dd/mm")     -->2002/11/09
    你可以多写几个,在立即窗口中试试
      

  3.   

    我还是没有全明白,不好意思。
    我用Format(12345.6,"$###,#0.00") 能显示-->$12,345.60
    我用Format(12345.6,"$##,#0.00") 还是能显示-->&12,345.60
    我用Format(12345.6,"$#,#0.00") 还是能显示-->&12,345.60
    我用Format(12345.6,"$#,0.00") 也能显示-->&12,345.60
    我就有点迷糊了,这几种方法都能显示出一样的结果,那为什么不写成最后一个样子,这样还简单一点呢?多的那些#号到底起到了什么作用呢?再次谢谢帮助我的朋友。
      

  4.   

    huxiangming(老虎) 说的最详细、准确,如果非要往简单了说,可以认为:
    #的作用如同 huxiangming(老虎) 所说,如果位置上有数字存在,那么就显示出来;否则,该位置就什么都不显示;
    0的作用是用来做 前导,比如 整数FORMAT(123,"000,000")的结果为000,123,小数FORMAT(0.123,"#,0.000")的结果为0.123而FORMAT(0.123,"##,###.000")的结果为.123