• 2019-1-17水晶报表函数大全


    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进行调用的理由是:使报表每次看起来都与预览时完全相同。换言之,它使您得以充分利用随机数,但获得的结果可以再现。
    

      

  • 相关阅读:
    使用Mockito进行单元测试【2】—— stub 和 高级特性[转]
    使用Mockito进行单元测试【1】——mock and verify[转]
    一个更加简洁的 建造者模式
    建造者模式
    另一种 模板模式
    模板模式
    适配器模式的另一种解释
    适配器模式
    迭代器模式
    迭代器模式 循环数组
  • 原文地址:https://www.cnblogs.com/liuqifeng/p/10282117.html
Copyright © 2020-2023  润新知