您的位置:首页 > 其它

[水晶报表]函数大全--数字函数篇

2008-10-12 00:27 309 查看
Abs (x):

Basic 语法和 Crystal 语法。

参数:x 是您希望返回绝对值的数字或货币。

返回:数字值

操作:Abs (x) 返回 x 的绝对值。

示例:

Abs(1.50)

返回 1.50。

Abs(-1.50)

返回 1.50。

Abs(10 - 7)

返回 3。

Abs(7 - 10)

返回 3。

Rem Basic 语法:

If Abs(37 - {file.FIELD}) > 1 Then

formula = "Maintenance, Temperature Check "

End If

//Crystal 语法

If Abs(37 - {file.FIELD}) > 1 Then

"需维修,请检查温度"

Else

"" ;

此示例会将试验热区的温度变化超过 ±1 摄氏度的实例标记出来。



Sgn (number):

Basic 语法和 Crystal 语法。

参数:number 是要求得其符号的值。

返回:返回 1、0 或 -1

操作:Sgn 返回给定数字的符号:如果 number > 0,则返回 1;如果 number 是 0,则返回 0;如果 number < 0,则返回 -1。

下列示例适用于 Basic 语法和 Crystal 语法:

Sgn (-10)

返回 -1。

Sgn (0)

返回 0。

Sgn (10)

返回 1。



Int (number):

Basic 语法和 Crystal 语法。

参数:number 是要将其向下舍入到最接近的整数的值。

返回:整数值

操作:Int 返回给定数字的整数部分,方法是将其向下舍入到下一个最小的整数。

下列示例适用于 Basic 语法和 Crystal 语法:

Int (123.678)

返回 123。

Int (-123.678)

返回 -124。

Int (-123.1)

返回 -124。

注释:此函数的使用类似 Visual Basic 的同名函数。

Fix (n)(或 Truncate (n))和 Int (n) 的结果相同,但 n 为负数时例外,此时 Fix 和 Truncate 都返回大于或等于 n 的第一个整数,而 Int 返回小于或等于 n 的第一个整数。例如,

Fix (-10.2)

Truncate (-10.2)

二者都返回 -10。

Int (-10.2)

返回 -11。

另请参见Fix ,Truncate 函数



Round:

Basic 语法和 Crystal 语法。

重载:

Round (x)

Round (x, #places)

参数:x 是要四舍五入的数字或货币。#places 是一个整数,表示 x 要四舍五入到的小数位数。

返回:数字

操作:如果忽略 #places 参数,则 Round 四舍五入到最接近的整数。如果小数点右边的值小于或等于 .499,则程序四舍五入到下一个最小数字。如果小数点右边的值等于或大于 .5,则程序四舍五入到下一个最大数字。

如果使用了 #places 参数,则将 x 中的值四舍五入到由 #places 指定的最接近的小数位数。将 #places 指定为 0 与不使用 #places 参数的作用相同。也可以为 #places 指定负数,该数字将四舍五入到最接近的十位、百位或千位,以此类推。

典型用法:在将值四舍五入到特定的小数位数比使用原始值更合适时,可随时使用 Round 函数。

下列示例适用于 Basic 语法和 Crystal 语法:

Round(1.23456)

返回 1。

Round(1.499)

返回 1。

Round(1.5000)

返回 2。

Round(2345.23456,4)

返回 2345.2346。

Round(2345.23456,3)

返回 2345.235。

Round(2345.23456,2)

返回 2345.23。

Round(2345.23456,0)

返回 2345。

Round(2345.23456,-1)

返回 2350。

Round(2345.23456,-2)

返回 2300。

Round(2345.23456,-3)

返回 2000。

Round(1.234499,3)

返回 1.234。

Round(1.234500,3)

返回 1.235。

Round({file.AMOUNT},1)

返回 1854.5,其中 Amount = 1854.49。

Round({file.AMOUNT})

返回 1854.00,其中 Amount = 1854.49。

Round({file.AMOUNT})

返回 1855.00,其中 Amount = 1854.51。

Round({file.WEIGHT} / 100)

返回 4,其中 Weight = 424。

Round({file.WEIGHT} / 100)

返回 5,其中 Weight = 451。

Round((A * B) / C)

返回 11,其中 A = 25、B = 3 和 C = 7。

Round(file.AMOUNT,1)

返回 1854.5,其中 Amount = 1854.51。

Round({file.WAGE} * {file.HOURS WORKED}, 2)

返回 $146.63,其中 Wage = $5.75、Hours worked = 25.5。

注释:四舍五入也可用作字段中数值的格式化选项;要知道使用字段格式化功能可能会影响值在公式中的使用。参见 ToNumber 和 到货币运算符。另请参见Truncate , Fix,Int (number)



RoundUp:

Basic 语法和 Crystal 语法。

重载:

RoundUp (x)

RoundUp (x, #places)

参数:x 是要四舍五入的实数。#places 是一个整数,表示 x 要四舍五入到的小数位数。

返回:数字

操作:RoundUp 返回已向上舍入的数字。此函数将向上舍入(远离零)。

下列示例适用于 Basic 语法和 Crystal 语法:

RoundUp(4.1,0)

返回 5。

RoundUp(5.34)

返回 6。

RoundUp(6.36521,3)

返回 6.366。

RoundUp(-6.36521,3)

返回 -6.366。

RoundUp(50.43,-1)

返回 60。

注释:如果 #places 大于 0(零),则数字会向上舍入到指定的小数位数;如果 #places 为 0 或未指定,则数字会向上舍入到下一个整数;如果 #places 小于 0,则数字会向上舍入到小数点的左边。

另请参见Round



Truncate:

Truncate 和 Fix 是等价函数。然而,在 Crystal 语法中,Truncate 是首选,而在 Basic 语法中,Fix 是首选。

重载:

Truncate (x)

Truncate (x, #places)

参数:x 是要截断的数字或货币。#places 是一个整数,表示该值被截断后要保留多少位小数。(此参数是可选的。)

返回:数字

操作:Truncate(x) 通过将数在小数点处截断来返回一个小数或整数。如果 #places 参数指定,则该数字将被截断到所指定的小数位数,且该函数返回一个小数数字。如果 #places 为负数,则该数字将被四舍五入到第一个十位、百位,以此类推。

典型用法:只要报表或计算不需要小数右边的字符,就可以使用此函数。

下列示例适用于 Basic 语法和 Crystal 语法:

Truncate (1.23456)

返回 1。

Truncate (1.499)

返回 1。

Truncate (1.599)

返回 1。

Truncate (1.999)

返回 1。

Truncate(12346.33, 1)

返回 12346.3。

Truncate(12345.33, -2)

返回 12300.00。

如果库存有 147 个高尔夫球并且想知道可用于销售的打数,则计算过程为 147/12=12.25 12.25(截断后) = 12,因此有 12 打可用于销售。如果只按打数来销售球,则所截断的 .25 打无关紧要。

Truncate({file.BALL INVENTORY} / 12)

返回 12,其中 Ball inventory = 147 (147/12 = 12.25,12.25 截断后 = 12)。

Truncate({file.BALL INVENTORY} / 12)

返回 12,其中 Ball inventory = 155 (155/12 = 12.92,12.92 截断后 = 12)。

Truncate({file.BALL INVENTORY} / 12)

返回 13,其中 Ball inventory = 157 (157/12 = 13.08,13.08 截断后 = 13)。

注释:这不是一个四舍五入函数;Truncate 只删除小数点右边的所有字符;有关四舍五入的解释,参见 Round。

对于 Truncate (n) 和 Int (number),当 n(数字)为负数时 Truncate 返回大于或等于 n 的第一个整数,而 Int 返回小于或等于 n 的第一个整数,除此以外它们是同义语。例如,

Truncate (-10.2)

返回 -10。

Int (-10.2)

返回 -11。

截断也可作为字段中数字值的一种格式化选项。要知道使用字段格式化功能可能会影响值在公式中的使用。有关转换为数字和货币的详细信息,参见 ToNumber 和 到货币运算符。

另请参见:Int (number)

MRound:

Basic 语法和 Crystal 语法。

重载

MRound (x)

MRound (x, multiple)

参数:x 是要四舍五入的值。multiple 是您要将 x 值四舍五入到的倍数。

返回:数字

操作:MRound返回已四舍五入到指定倍数的数字。如果除法的余数大于或等于倍数值的一半,此函数将向上舍入(远离零)。

下列示例适用于 Basic 语法和 Crystal 语法:

MRound(10,3)

返回 9。

MRound(-10,-3)

返回 -9。

MRound(1.3,0.2)

返回 1.4。

MRound(5,-2)

返回 6。

MRound(-5,2)

返回 -6。

注释:Crystal Reports 将忽略倍数的正负号,并且函数的结果将采用第一个参数的正负号。

Ceiling:

Basic 语法和 Crystal 语法。

重载

Ceiling (x)

Ceiling (x, multiple)

参数:x 是要四舍五入的值。multiple 是您要将 x 值四舍五入到的倍数。

返回:数字

操作:Ceiling 返回已四舍五入到指定倍数的数字。此函数将向上舍入(远离零)。

下列示例适用于 Basic 语法和 Crystal 语法:

Ceiling(3.5,1)

返回 4。

Ceiling(-2.5,-2)

返回 -4。

Ceiling(-2.5,2)

返回 -4。

Ceiling(5.43,.05)

返回 5.45。

Ceiling(.43,-1)

返回 1。

注释:Crystal Reports 将忽略倍数的正负号,并且函数的结果将采用第一个参数的正负号;当远离零对值进行调整时,将始终将值向上舍入(与值的正负号无关);如果数字是 multiple 的准确倍数,则不进行四舍五入。

Floor:

Basic 语法和 Crystal 语法。

重载:

Floor (x)

Floor (x, multiple)

参数:x 是要四舍五入的值;multiple 是您要将 x 值四舍五入到的倍数。

返回:数字

操作:Floor 返回已四舍五入到指定倍数的数字。此函数将向下舍入(远离零)。

下列示例适用于 Basic 语法和 Crystal 语法:

Floor(3.5,1)

返回 3。

Floor(-2.5,-2)

返回 -2。

Floor(-2.5,2)

返回 -2。

Floor(5.43,.05)

返回 5.40。

Floor(.43,-1)

返回 0。

注释:Crystal Reports 将忽略倍数的正负号,并且函数的结果将采用第一个参数的正负号;当远离零对值进行调整时,将始终将值向下舍入(与值的正负号无关);如果数字是 multiple 的准确倍数,则不进行四舍五入。

0 不能作为 multiple 参数。否则,将导致错误。但是,Floor(0,0) 是允许的,并将返回 0。

Fix:

Fix 和 Truncate 是等价函数。然而,在 Basic 语法中,Fix 是首选,而在 Crystal 语法中,Truncate 是首选。

重载:

Fix (number)

Fix (number, #places)

参数:number 是要截断的数字值;它可以为正数、0 或负数;#places是一个可选数字,表示要被截断到的小数位数。若省略,则使用 0。

返回:整数值,它可以为正数、0 或负数。

操作:Fix 将一个数字截断到指定的小数位数,并将其返回。若省略 #places,则使用 0。

下列示例适用于 Basic 语法和 Crystal 语法:

Fix (123.678)

返回 123。

Fix (-123.678)

返回 -123。

Fix (123.678,1)

返回 123.6。

Fix (123.678,2)

返回 123.67。

注释:带有单个参数的 Fix 函数(即 Fix (number)),其使用类似于 Visual Basic 的同名函数;Fix (n) 和 Int (number) 除了当 n(数字)为负数时 Fix 返回大于或等于 n 的第一个整数,而 Int 返回小于或等于n的第一个整数之外,它们的作用相同。例如,

Fix (-10.2)

返回 -10。

Int (-10.2)

返回 -11。

Remainder (num, denom):

Basic 语法和 Crystal 语法。

参数:Numerator(分子)是小数值;Denominator(分母)也是小数值。

返回:小数值

操作:Remainder返回分子(被除数)除以分母(除数)后的余数。在典型的除法运算中,程序将商表示为整数(如果有的话)和最多六位小数组成的数。然而,程序在使用 Remainder时,在内部进行除法运算,然后确定整数商和余数,并仅返回余数。

典型用法:可以在进行换算(英尺到英里、件到罗等)时使用此函数。也可以使用它从一个数组中每隔 n-1 个项目就选出一个项目。

下列示例适用于 Basic 语法和 Crystal 语法:

Remainder(12,5)

返回 2。

Remainder(16,5)

返回 1。

Rem Basic 语法

If Remainder ({file.EXAM#}, 7) = 0 Then

formula = "*****"

End If

//Crystal 语法

If Remainder ({file.EXAM#}, 7) = 0 Then

"*****"

Else

""

这会每隔 7 次考试标记一次,以供第二方进行评分。

ToText(Truncate({file.DAYS}/7)) + " week(s), " + ToText(Remainder({file.DAYS},7)) + " day(s)"

返回“9 week(s), 1 day(s)”。将天数转换为周数和天数。例如,如果此字段的值为 64 天,则公式返回的值为“9 week(s), 1 day(s)”。

另请参见:模数 (x Mod y)

Sin (number):

Basic 语法和 Crystal 语法。

参数:用弧度表示的角度的数字值。

返回:介于 -1 和 1 之间的数字值

操作:Sin返回一个数字,指定用弧度给出的角度的正弦。以直角三角形为例,它返回指定角对边的长度除以斜边长度。

下列示例适用于 Basic 语法和 Crystal 语法:

Sin (1)

返回 0.8415(四舍五入到 4 位数字)。这是 1 弧度的正弦。

Sin (30 * crPi / 180)

返回 0.5。这是 30 度的正弦。在计算正弦之前,该角度乘以 crPi / 180 后转换为弧度。

注释:此函数的使用类似 Visual Basic 的同名函数;Sin 所返回的值的范围介于 -1 和 1 之间。

Cos (number):

Basic 语法和 Crystal 语法。

参数:用弧度数表示的角度的数字值。

返回:介于 -1 和 1 之间的数字值

操作:Cos返回一个数字,指定用弧度给出的角度的余弦。以直角三角形为例,它返回指定角邻边的长度除以斜边的长度。

下列示例适用于 Basic 语法和 Crystal 语法:

Cos (1)

返回 0.5403(四舍五入到 4 位数字)。这是 1 弧度的余弦。

Cos (60 * crPi / 180)

返回 0.5。这是 60 度的余弦。在计算余弦之前,该角度乘以 crPi / 180 后转换为弧度。

注释:此函数的使用类似 Visual Basic 的同名函数;Cos 返回的值的范围介于 -1 和 1 之间。

Tan (number):

Basic 语法和 Crystal 语法。

参数:用弧度表示的角度的数字值。

返回:数字值

操作:Tan返回一个数字,指定用弧度给出的角度的正切。以直角三角形为例,它返回指定角对边的长度除以与该角邻边的长度。

下列示例适用于 Basic 语法和 Crystal 语法:

Tan (1)

返回 1.5574(四舍五入到 4 位数字)。这是 1 弧度的正切。

Tan (45 * crPi / 180)

返回 1。这是 45 度的正切。在计算正切之前,该角度乘以 crPi / 180 后转换为弧度。

注释:此函数的使用类似 Visual Basic 的同名函数。

Atn (number):

Basic 语法和 Crystal 语法。

参数:数字值

返回:用弧度数指定的角度的数字值

操作:Atn 返回一个数字,该数字指定所给的数字参数的反正切。换言之,它返回其正切是所给数字参数的角度。

下列示例适用于 Basic 语法和 Crystal 语法:

Atn (1)

返回 0.7854 弧度的角度(四舍五入到 4 位小数)。要将此角度转换为度,乘以 180 / crPi。例如,Atn (1) * 180 / crPi 等于 45 度。

注释:此函数的使用类似 Visual Basic 的同名函数;Atn 返回的值的范围介于 -pi/2 和 pi/2 r弧度之间。

Pi:

Basic 语法和 Crystal 语法。

返回数学值 pi,它等于 3.14(如果四舍五入到 2 位小数)。

Sqr (number):

Basic 语法和 Crystal 语法。

参数:大于或等于 0 的数字值。

返回:数字值

操作:Sqr 返回给定数字的平方根。

下列示例适用于 Basic 语法和 Crystal 语法:

Sqr (100)

返回 10。

注释:此函数的使用类似 Visual Basic 的同名函数。

Exp (number):

Basic 语法和 Crystal 语法。

参数:指定乘幂的数字值。

返回:数字值。

操作:Exp 返回一个数字,指定 e(自然对数的底)的乘幂次方。e 的值约为 2.718282。

下列示例适用于 Basic 语法和 Crystal 语法:

Exp (1.5)

返回 e 的 1.5 次方,约为 4.48169。

注释:此函数的使用类似 Visual Basic 的同名函数;如果给定的数字参数约大于 705,则会出现数字溢出。

Log (number):

Basic 语法和 Crystal 语法。

参数:数字值

返回:数字值

操作:Log 返回一个数字,指定所给数的自然对数。自然对数是以 e 为底的对数,其中 e 约为 2.718282。

下列示例适用于 Basic 语法和 Crystal 语法:

Log (1.5)

返回 0.4055(四舍五入到 4 位数字)。

注释:此函数的使用类似 Visual Basic 的同名函数;当您使用以下逻辑时,此函数可计算底为任意值的对数:

LogAnyBase (x,base) = log(x)/log(base)

(x 代表您想计算对数的数字;base 代表您想使用的底。)

例如,对于以 10 为底的对数,您将输入以下公式文本:

log(x)/log(10)

Rnd:

Basic 语法和 Crystal 语法。

重载:

Rnd ()

Rnd (seed)

参数:seed (种子)是一个可选数字值参数。

返回:一个数字值。

操作:Rnd 返回一个大于或等于 0 并且小于 1 的随机数。如果 seed 等于 0,则 Rnd 返回从前一次对 Rnd 的调用中返回的随机数。如果 seed 未提供或大于 0,则 Rnd 返回内部生成的随机数序列中的下一个随机数。如果 seed 小于 0,则 Rnd 使用此 seed 值启动新的随机数序列,并返回此序列中的第一个值。

典型用法:在公式需要随机生成的数字(如进行统计计算或随机选择记录以对报表中的数据进行限制)时,使用该函数。

注释:此函数类似于 Visual Basic 的同名函数;您可以不通过指定负 seed 参数从而启用新随机数序列的方法调用 Rnd。如果这样做,程序会使用系统时钟来生成内部 seed;通过调用带负 seed 参数的 Rnd来启用新的随机数序列,然后不带参数(或带有一个正参数)对 Rnd进行调用的理由是:使报表每次看起来都与预览时完全相同。换言之,它使您得以充分利用随机数,但获得的结果可以再现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: