全部产品
Search
文档中心

日志服务:算术函数

更新时间:Jun 18, 2024

本文介绍算术函数的语法规则,包括参数解释、函数示例等。

函数列表

说明

如果值为负数,请使用op_neg(positive value)函数,例如:要表示-1,请使用op_neg(1)

类型

函数

说明

多值计算比较

op_sum

对传入值进行求和操作。

基础计算

op_abs

对传入值进行绝对值操作。

op_div_floor

对传入值进行整除操作。

op_div_true

对传入值进行除法操作。

op_pow

对值进行幂值计算操作。

op_mul

对传入值进行乘法运算。

op_neg

计算传入值的相反数。

op_mod

对传入值进行模计算。

op_sub

对传入值进行减法运算。

op_round

对传入值进行四舍五入操作。

数学计算

mat_ceil

对传入值进行向上取整操作。

mat_exp

以常数e为底的指数函数。

mat_fabs

计算传入值的绝对值。

mat_floor

对传入值进行向下取整操作。

mat_log

计算传入值的对数。

mat_log10

计算以10为基数的传入值的对数。

mat_sqrt

计算传入值的平方根。

mat_degrees

将弧度转换为角度。

mat_radians

将角度转换为弧度。

mat_sin

计算传入值弧度的正弦值。

mat_cos

计算传入值弧度的余弦值。

mat_tan

计算传入值弧度的正切值。

mat_acos

计算传入值的反余弦弧度值。

mat_asin

计算传入值的反正弦弧度值。

mat_atan

计算传入值的反正切弧度值。

mat_atan2

计算坐标值的反正切值。

mat_atanh

计算传入值的反双曲正切值。

mat_hypot

计算传入值得欧几里德范数。

MATH_PI

数据常数pi。

MATCH_E

数学常数e。

op_sum

对传入值进行求和操作。

  • 函数格式

    op_sum(value1, value2, ...)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回多个传入值的求和结果。

  • 函数示例

    计算course_price和goods_price总价。

    • 原始日志

      course_price: 12
      goods_price: 2
    • 加工规则

      e_set("account", op_sum(v("course_price"), v("goods_price")))
    • 加工结果

      course_price: 12
      goods_price: 2
      account: 14

op_abs

对传入值进行绝对值操作。

  • 函数格式

    op_abs(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回传入值的绝对值。

  • 函数示例

    函数示例

    计算course_price值的绝对值。

    • 原始日志

      course_price: -4
    • 加工规则

      e_set("op_abs", op_abs(v("course_price")))
    • 加工结果

      course_price: -4
      op_abs: 4

op_div_floor

对传入值进行整除操作。

  • 函数格式

    op_div_floor(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回值1与值2整除的结果。

  • 函数示例

    根据course_price字段和count字段计算单价。

    • 原始日志

      course_price: 4
      count: 2
    • 加工规则

      e_set("op_div_floor", op_div_floor(v("course_price"), v("count")))
    • 加工结果

      course_price: 4
      count: 2
      op_div_floor: 2

op_div_true

对传入值进行除法操作。

说明

该函数支持自动转换数据类型,输入string或者int类型的数据即可。

  • 函数格式

    op_div_true(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字字符串/ Number

    待计算的值。

    value2

    数字字符串/ Number

    待计算的值。

  • 返回结果

    返回值1/值2的结果。

  • 函数示例

    • 示例1:根据fruit_price和count字段计算单价。

      • 原始日志

        fruit_price: 9
        count: 2
      • 加工规则

        e_set("op_div_true", op_div_true(v("fruit_price"), v("count")))
      • 加工结果

        fruit_price: 9
        count: 2
        op_div_true: 4.5
    • 示例2:计算加速度(四舍五入),计算公式为a = (one_speed-two_speed)/time

      • 原始日志

        one_speed: 9
        two_speed: 2
        time: 3
      • 加工规则

        e_set("a", op_round(op_div_true(op_sub(v("one_speed"), v("two_speed")), v("time")), 2))
      • 加工结果

        a:2.33
        one_speed:9
        time:3
        two_speed:2

op_pow

对值进行幂值计算操作。

  • 函数格式

    op_pow(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回值1的值2次方的结果。

  • 函数示例

    计算course的pow次方的值。

    • 原始日志

      course: 100
      pow: 2
    • 加工规则

      e_set("pow_course", op_pow(v("course"), v("pow")))
    • 加工结果

      course: 100
      pow: 2
      pow_course: 10000

op_mul

对传入值进行乘法运算。

  • 函数格式

    op_mul(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字、字符串、元祖、列表等

    待计算的值。

    value2

    数字

    待计算的值。

  • 返回结果

    • 若值1和值2为数字,返回相乘的结果。

    • 若值1和值2为字符串、元组、列表等,返回扩大倍数的原类型。

  • 函数示例

    • 示例1:根据course和price字段计算总价。

      • 原始日志

        course: 10
        price: 23
      • 加工规则

        e_set("account", op_mul(ct_int(v("course")), ct_int(v("price"))))
      • 加工结果

        course: 10
        price: 23
        account: 230
    • 示例2:将course字段扩大3倍。

      • 原始日志

        course: "abc"
      • 加工规则

        e_set("course", op_mul(v("course"), 3))
      • 加工结果

        course: "abcabcabc"

op_neg

计算传入值的相反数。

  • 函数格式

    op_neg(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回传入值的相反数。

  • 函数示例

    • 原始日志

      course: -100
    • 加工规则

      e_set("account", op_neg(v("course_price")))
    • 加工结果

      course: -100
      account: 100

op_mod

对传入值进行模计算。

  • 函数格式

    op_mod(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回值1对值2取模的结果。

  • 函数示例

    • 原始日志

      course: 4
      count: 3
    • 加工规则

      e_set("op_mod", op_mod(v("course"), v("count")))
    • 加工结果

      course: 4
      count: 3
      op_mod: 1

op_sub

对传入值进行减法运算。

  • 函数格式

    op_sub(value1, value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回值1减去值2的结果。

  • 函数示例

    计算count减count_apple的结果。

    • 原始日志

      count: 6
      count_apple: 3
    • 加工规则

      e_set("sub_number", op_sub(v("count"),v("count_apple")))
    • 加工结果

      count: 6
      count_apple: 3
      sub_number:  3

op_round

对传入值进行四舍五入操作。

  • 函数格式

    op_round(value, number)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

    number

    数字

    表示四舍五入后保留的小数点位数,默认值为0。

  • 返回结果

    返回传入值的四舍五入的结果。

  • 函数示例

    返回price小数点后1位数。

    • 原始日志

      price: 4.56
    • 加工规则

      e_set("round_price", op_round(v("price"),1))
    • 加工结果

      price: 4.56
      round_price: 4.6

mat_ceil

对传入值进行向上取整操作。

  • 函数格式

    mat_ceil(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回大于或者等于指定值的最小整数。

  • 函数示例

    • 原始日志

      price: 4.1
    • 加工规则

      e_set("mat_ceil", mat_ceil(v("price")))
    • 加工结果

      price: 4.1
      mat_ceil: 5

mat_exp

以常数e为底的指数函数,返回e的次幂结果。

  • 函数格式

    mat_exp(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回e的次幂结果。

  • 函数示例

    • 原始日志

      number: 2
    • 加工规则

      e_set("e_x", mat_exp(v("number")))
    • 加工结果

      number: 1
      e_x: 7.38905609893065

mat_fabs

计算传入值的绝对值。

  • 函数格式

    mat_fabs(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回传入值的绝对值。

  • 函数示例

    • 原始日志

      course_price: -10
    • 加工规则

      e_set("mat_fabs", mat_fabs(v("course_price")))
    • 加工结果

      course_price: -10
      mat_fabs: 10.0

mat_floor

对传入值进行向下取整操作。

  • 函数格式

    mat_floor(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回小于或者等于指定值的最大整数。

  • 函数示例

    • 原始日志

      course_price: 4.9
    • 加工规则

      e_set("mat_floor", mat_floor(v("course_price")))
    • 加工结果

      course_price: 4.9
      mat_floor: 4

mat_log

计算传入值的对数。

  • 函数格式

    mat_log(value1,value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    待计算的值。

    value2

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回传入值的对数。

  • 函数示例

    • 原始日志

      number1: 100
      number2: 10
    • 加工规则

      e_set("mat_log", mat_log(v("number1"),v("number2")))
    • 加工结果

      number1: 100
      number2: 10
      mat_log: 2.0

mat_log10

计算以10为基数的传入值的对数。

  • 函数格式

    mat_log10(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回以10为基数的传入值的对数结果。

  • 函数示例

    • 原始日志

      number: 100
    • 加工规则

      e_set("number2", mat_log10(v("number")))
    • 加工结果

      number: 100
      numbe2: 2.0

mat_sqrt

计算传入值的平方根。

  • 函数格式

    mat_sqrt(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回传入值的平方根结果。

  • 函数示例

    • 原始日志

      number1: 100
    • 加工规则

      e_set("sqrt_account", mat_sqrt(v("number1")))
    • 加工结果

      number1: 100
      sqrt_account: 10.0

mat_degrees

将弧度转换为角度。

  • 函数格式

    mat_degrees(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回角度结果。

  • 函数示例

    • 原始日志

      num: 1
    • 加工规则

      e_set("mat_degrees", mat_degrees(v("num")))
    • 加工结果

      num: 1
      mat_degrees: 57.29577951308232

mat_radians

将角度转换为弧度。

  • 函数格式

    mat_radians(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回弧度结果。

  • 函数示例

    • 原始日志

      rad: 30
    • 加工规则

      e_set("mat_radians", mat_radians(v("rad")))
    • 加工结果

      rad: 30
      mat_radians: 0.5235987755982988

mat_sin

计算传入值弧度的正弦值。

  • 函数格式

    mat_sin(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回正弦值。

  • 函数示例

    • 原始日志

      sin: 90
    • 加工规则

      e_set("mat_sin", mat_sin(v("sin")))
    • 加工结果

      sin: 90
      mat_sin: 0.8939966636005579

mat_cos

计算传入值弧度的余弦值。

  • 函数格式

    mat_cos(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回余弦值。

  • 函数示例

    • 原始日志

      cos: 30
    • 加工规则

      e_set("mat_cos", mat_cos(v("cos")))
    • 加工结果

      cos: 30
      mat_cos: 0.15425144988758405

mat_tan

计算传入值弧度的正切值。

  • 函数格式

    mat_tan(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回正切值。

  • 函数示例

    • 原始日志

      tan: 30
    • 加工规则

      e_set("mat_tan", mat_tan(v("tan")))
    • 加工结果

      tan: 30
      mat_tan: 1.6197751905438615

mat_acos

计算传入值的反余弦弧度值。

  • 函数格式

    mat_acos(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回反余弦弧度值。

  • 函数示例

    • 原始日志

      acos: 1
    • 加工规则

      e_set("mat_acos", mat_acos(v("acos")))
    • 加工结果

      acos: 1
      mat_acos: 0.0

mat_asin

计算传入值的反正弦弧度值。

  • 函数格式

    mat_asin(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回反正弦弧度值。

  • 函数示例

    • 原始日志

      asin: 1
    • 加工规则

      e_set("mat_asin", mat_asin(v("asin")))
    • 加工结果

      asin: 1
      mat_asin: 1.5707963267948966

mat_atan

计算传入值的反正切弧度值。

  • 函数格式

    mat_atan(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    待计算的值。

  • 返回结果

    返回反正切弧度值。

  • 函数示例

    • 原始日志

      atan: 1
    • 加工规则

      e_set("mat_atan", mat_atan(v("atan")))
    • 加工结果

      atan: 1
      mat_atan: 0.7853981633974483

mat_atan2

计算坐标值的反正切值。

  • 函数格式

    mat_atan2(x,y)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    x

    数字或数字字符串

    X坐标值。

    y

    数字或数字字符串

    Y坐标值。

  • 返回结果

    返回坐标值的反正切值。

  • 函数示例

    • 原始日志

      atan1: 1
      atan2: 2
    • 加工规则

      e_set("mat_atan2", mat_atan2(v("atan1"),v("atan2")))
    • 加工结果

      atan1: 1
      atan2: 2
      mat_atan2: 0.4636476090008061

mat_atanh

计算传入值的反双曲正切值。

  • 函数格式

    mat_atanh(value)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    数字或数字字符串

    X坐标值。

  • 返回结果

    返回反双曲正切值。

  • 函数示例

    • 原始日志

      atanh: 0.5
    • 加工规则

      e_set("mat_atanh", mat_atanh(v("atanh")))
    • 加工结果

      atanh:0.5
      mat_atanh:0.5493061443340548

mat_hypot

计算传入值的欧几里德范数。

  • 函数格式

    mat_hypot(value1,value2)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value1

    数字或数字字符串

    X坐标值。

    value2

    数字或数字字符串

    Y坐标值。

  • 返回结果

    返回传入值的欧几里德范数。

  • 函数示例

    • 原始日志

      hypot1: 1
      hypot2: 2
    • 加工规则

      e_set("mat_hypot", mat_hypot(v("hypot1"),v("hypot2")))
    • 加工结果

      hypot1:1
      hypot2:2
      mat_hypot:2.23606797749979

MATH_PI

数据常数pi。

  • 原始日志

    a:2
  • 加工规则

    e_set("result", op_sum(v("a"), MATH_PI))
  • 加工结果

    a:2
    result:5.141592653589793

MATCH_E

数据常数e。

  • 原始日志

    a:2
  • 加工规则

    e_set("result", op_sum(v("a"), MATCH_E))
  • 加工结果

    a:2
    result:4.718281828459045