Numeric Functions 数值函数
常见的数值表达式,整理如下:
ABS:取绝对值
SIGN( N ):N>0时返回 1;N<0时返回 -1;N=0时返回 0 CEIL:向上取整
FLOOR:向下取整
TRUNC:取整数位
FRAC:取小数位
IPOW:计算幂值,可以用来代替 ** 使用,避免部分数据丢失精度
NMAX/NMIN:返回参数中的最大值/最小值,参数最多传入 9 个
ROUND:计算舍入值,DEC 指定舍入位置,可以使用 MODE指定舍入规则
RESCALE:与 ROUND 用法一致,但是当需要保留的位数大于实际位数时,RESCALE 会在尾部填充 0,而 ROUND不会
例:
DATA(lv_sign) = sign( lv_num ).
DATA(lv_ceil) = ceil( lv_num ).
DATA(lv_floor) = floor( lv_num ).
DATA(lv_trunc) = trunc( lv_num ).
DATA(lv_frac) = frac( lv_num ).
DATA(lv_ipow) = |{ ipow( base = '1.2’ exp = 2 ) } , { ( '1.2' ** 2 ) }|.
DATA(lv_nmax) = nmax( val1 = lv_ceil val2 = lv_floor ).
DATA(lv_nmin) = nmin( val1 = lv_ceil val2 = lv_floor ).
DATA(lv_round) = round( val = lv_num dec = 3 ).
DATA(lv_rescale) = rescale( val = lv_num dec = 8 ).
测试结果: