表达式与常用函数

我们已经知道在设计Word模板的时候,可以插入表达式,格式为:

<表达式>

需要注意的是,表达式中的列名,必须用方括号括起来,例如:

<Round([数量] * [单价],2)>

表示数量乘以单价,并保留两位小数,如数量和单价不用方括号括起来,此表达式将不能正确计算。

表达式采用VBScript语法,而且Foxtable对VBScript进行了扩展,提供了很多非常实用的函数。
例如你要将出生日期以中文大写的形式打印出来,可以这样设置模板:<CUDATE([出生日期])>
再例如,假定已付款是个逻辑列,希望打印的时候,已付款的用符号"√",可以这样设置模板:IIF([已付款], "√", "")

我们下面介绍一些常用的函数,更多的函数和更具体的用法,请参考:VBSCript参考

函数名 说明
Format 格式化日期或数字。

格式化数字的时候,用0表示占位符,如果指定位置有数字,则显示数字,如果没有数字,则用0补充。

例如需要金额保留两位小数显示:

<Format([金额],"#0.00")>

如果金额的值是123.567,则显示为123.57,如果金额的值是123.5,则显示为123.50,而不是123.5。

如果希望以百分比的形式显示,可以加上符号%,例如希望以百分比形式显示合格率,保留一位小数:

<Format([合格率],"#0.0%")>

格式化日期的时候,yyyy表示四位年,yy表示两位年,MM表两2位月,M表示一位月,dd表示两位日,d表示一位日,例如:

<Format([出库日期],"yyyy年MM月dd日")>  显示的日期格式为:2013年09月08日
<Format([出库日期],"yyyy年M月d日")>  显示的日期格式为:2013年9月8日
<Format([出库日期],"yy年M月d日")>  显示的日期格式为:13年9月8日

注意M是大写。

IIF 语法为:

IIF(expression, truevalue, falsevalue)

如果逻辑表达式expression的计算结果为True,将返回truevalue,否则返回falsevalue。

例如:

IIF([已付款], "√", "")

Round 对数值进行四舍五入,例如:<Round([金额],2)>
Date 返回今天的日期,例如:

<Format(Date,"yyyy年MM月dd日")>

表示以四位年两位月两位日的格式显示今天的日期。

日期可以直接和数字进行加减,例如:

<Date - 2> 表示前天的日期
<Date + 1> 表示明天的日期
<Format(Date + 1,"yyyy年MM月dd日")> 表示以四位年两位月两位日的格式显示明天的日期。
Now 放回当前时间,例如:<Now>
Year 返回日期的年份,例如: <Year(出生日期)>
Month 返回日期的月份,例如: <Month(出生日期)>
Day 返回日期的日部分,例如: <Day(出生日期)>
Weekday 用数字形式返回星期几,例如: <WeekDay(出生日期)>
WeekDayName 用名称形式返回星期几,例如: <WeekDayName(出生日期)>
CUDate 将日期Date转换为大写中文格式。

例如:

<CUDate([日期])>

假定日期列的值是“2013-12-9”,上面的表达式显示的是:贰零壹叁年拾贰月玖日

CLDate 将日期Date转换为小写中文格式。

例如:

<CLDate([日期])>

假定日期列的值是“2013-12-9”,上面的表达式显示的是:二○一三年十二月九日

CUMoney 将数值转换为中文货币格式。

例如:

<CUMoney([金额])>

假定金额的值是12345,上面的表达式显示的是:壹万贰仟叁佰肆拾伍圆整

CUNumber 将数值转换为中文大写格式。

例如:

<CUNumber([金额])>

假定金额的值是12345,上面的表达式显示的是:壹万贰仟叁佰肆拾伍

EUNumber 将整数转换为英文大写。

例如:

<EUNumber([数量])>

假定数量的值是12345,上面的表达式显示的是:Twelve Thousand Three Hundred Forty Five

EUMoney 将数值转换为英文货币格式。

例如:

<EUMoney([金额])>

假定金额的值是12345.45,上面的表达式显示的是:Twelve Thousand Three Hundred Forty Five Dollars And Forty Five Cents


本页地址:http://www.foxtable.com/webhelp/topics/2884.htm