[comment]: # attributes: notoc

[comment]: # translation:outdated

[comment]: # ({56ac0bd9-ef4bef6c})
# 6 数学函数

此处列出的所有功能均受支持：

-  [触发器表达式](/manual/config/triggers/expression)
- [可计算监控项](/manual/config/items/itemtypes/calculated)

除非另有说明，否则数学函数支持浮点和整数值类型。

下面列出的函数没有附加信息。点击该函数查看完整的详细信息。

|函数|说明|
|--|--------|
|[abs](#abs)|值的绝对值。|
|[acos](#acos)|作为角度的值的反余弦，以弧度表示。|
|[asin](#asin)|作为角度的值的反正弦，以弧度表示。|
|[atan](#atan)|作为角度的值的反正切，以弧度表示。|
|[atan2](#atan2)|纵坐标（值）和横坐标的反正切指定为角度，以弧度表示。|
|[avg](#avg)|引用监控项值的平均值。|
|[cbrt](#cbrt)|值的立方根。|
|[ceil](#ceil)|将值向上舍入为最接近大于或等于的整数。|
|[cos](#cos)|值的余弦，其中该值是以弧度表示的角度。|
|[cosh](#cosh)|值的双曲余弦值。|
|[cot](#cot)|值的余切，其中该值是一个角度，以弧度表示。|
|[degrees](#degrees)|将值从弧度转换为度数。|
|[e](#e)|欧拉数（2.718281828459045）。|
|[exp](#exp)|欧拉数的某个值的幂。|
|[expm1](#expm1)|欧拉数的负1次幂。|
|[floor](#floor)|将值向下舍入为最接近小于或等于的整数。|
|[log](#log)|自然对数。|
|[log10](#log10)|以10为底的对数。|
|[max](#max)|引用监控项值的最大值。|
|[min](#min)|引用监控项值的最小值。|
|[mod](#mod)|除法余数。|
|[pi](#pi)|π常数（3.14159265358979）。|
|[power](#power)|值的幂。|
|[radians](#radians)|将值从度数转换为弧度。|
|[rand](#rand)|返回一个随机整数值。|
|[round](#round)|将值四舍五入到小数位。|
|[signum](#signum)|如果值为负则返回“-1”，如果值为零则返回“0”，如果值为正则返回“1”。|
|[sin](#sin)|值的正弦，其中该值是以弧度表示的角度。|
|[sinh](#sinh)|值的双曲正弦，其中该值是以弧度表示的角度。|
|[sqrt](#sqrt)|值的平方根。|
|[sum](#sum)|引用监控项值的总和。| 
|[tan](#tan)|值的正切。|
|[truncate](#truncate)|将值截断到小数位。|

[comment]: # ({/56ac0bd9-ef4bef6c})

[comment]: # ({e635e2a6-f932d69d})

###函数详情

关于函数参数的一般性说明：

-   函数参数用逗号分隔
-   表达式可以用作参数
-  可选函数参数（或参数部分）由`<` `>`表示

[comment]: # ({/e635e2a6-f932d69d})

[comment]: # ({3813a030-89cbc486})
##### abs(value) {#abs}

值的绝对值。<br>
支持的值类型：*浮点*、*整数*、*字符串*、*文本*、*日志*。<br>
对于字符串返回：0 - 值相等； 1 - 值不同。

参数：

-   **value** - 要检查的值

计算绝对值差， 如以下输入示例值所示 （'前一个值' 和 '最新的值' = 绝对值差）： '1' 和 '5' = `4`； '3' 和 '1' = `2`； '0' 和 '-2.5' = `2.5`

示例：

    abs(last(/host/key))>10

[comment]: # ({/3813a030-89cbc486})

[comment]: # ({754d73c7-f40a2e61})
##### acos(value) {#acos}

作为角度的值的反余弦，以弧度表示。

参数：

-   **value** - 要检查的值

该值必须介于-1和1之间。例如，值 “0.5” 的反余弦为 “2.0943951”。

示例：

    acos(last(/host/key))

[comment]: # ({/754d73c7-f40a2e61})

[comment]: # ({f32d79d9-b44dbca5})
##### asin(value) {#asin}

作为角度的值的反正弦，以弧度表示。

参数：

-   **value** - 要检查的值

该值必须介于-1和1之间。例如，值 “0.5” 的反正弦为 “-0.523598776”。

示例：

    asin(last(/host/key)) 

[comment]: # ({/f32d79d9-b44dbca5})

[comment]: # ({8e7917ff-08e0843c})
##### atan(value) {#atan}

作为角度的值的反正切，以弧度表示。

参数：

-   **value** - 要检查的值

该值必须介于-1和1之间。例如，值 “1” 的反正切为 “0.785398163”。

示例：

    atan(last(/host/key))

[comment]: # ({/8e7917ff-08e0843c})

[comment]: # ({d4066088-6df7b343})
##### atan2(value,abscissa) {#atan2}

纵坐标（值）和横坐标的反正切指定为角度，以弧度表示。

参数：

-   **value** - 要检查的值；
-   **abscissa** - 横坐标值。

例如，值“1”的纵坐标和横坐标的反正切将是“2.21429744”。

示例：

    atan(last(/host/key),2)

[comment]: # ({/d4066088-6df7b343})

[comment]: # ({7008b223-6d42ceda})
##### avg(<value1>,<value2>,...) {#avg}

引用监控项值的平均值。

参数：

-   **valueX** - 由另一个处理监控项历史的函数返回值。

示例：

    avg(avg(/host/key),avg(/host2/key2))

[comment]: # ({/7008b223-6d42ceda})

[comment]: # ({ef0cb9ef-65742fe9})
##### cbrt(value) {#cbrt}

值的立方根。


参数：

-   **value** - 要检查的值

例如，“64”的立方根将是“4”，“63”是“3.97905721”。

示例：

    cbrt(last(/host/key))

[comment]: # ({/ef0cb9ef-65742fe9})

[comment]: # ({696b523c-4290a457})
##### ceil(value) {#ceil}

将值向上舍入为最接近大于或等于的整数。

参数：

-   **value** - 要检查的值

例如，“2.4”将被向上舍入为“3”。另参见 [floor()](#floor)。

示例：

    ceil(last(/host/key))

[comment]: # ({/696b523c-4290a457})

[comment]: # ({dee428c3-b07f5dfa})
##### cos(value) {#cos}

值的余弦，其中该值是以弧度表示的角度。

参数：

-   **value** - 要检查的值

例如，值“1”的余弦将为“0.54030230586”。

示例：

    cos(last(/host/key))

[comment]: # ({/dee428c3-b07f5dfa})

[comment]: # ({a9e4704e-4df693f6})
##### cosh(value) {#cosh}

值的双曲余弦值。
将值返回为实数，而不是科学表示法。

参数：

-   **value** - 要检查的值

例如，值“1”的双曲余弦是“1.54308063482”。

示例：

    cosh(last(/host/key))

[comment]: # ({/a9e4704e-4df693f6})

[comment]: # ({b169abdb-7b0480bb})
##### cot(value) {#cot}

值的余切，其中该值是一个角度，以弧度表示。

参数：

-   **value** - 要检查的值

例如，值“1”的余切是“0.54030230586”。

示例：

    cot(last(/host/key))

[comment]: # ({/b169abdb-7b0480bb})

[comment]: # ({49d843a0-552d8ac9})
##### degrees(value) {#degrees}

将值从弧度转换为度数。

参数：

-   **value** - 要检查的值

例如，将值“1”转换为度是“57.2957795”。

示例：

    degrees(last(/host/key))

[comment]: # ({/49d843a0-552d8ac9})

[comment]: # ({7078d3f3-790837bf})
##### e {#e}

欧拉数（2.718281828459045）。

示例：

    e()

[comment]: # ({/7078d3f3-790837bf})

[comment]: # ({329513b5-5f0104cf})
##### exp(value) {#exp}

欧拉数的某个值的幂。

参数：

-   **value** - 要检查的值

例如，欧拉数的2次方为7.38905609893065。

示例：

    exp(last(/host/key))

[comment]: # ({/329513b5-5f0104cf})

[comment]: # ({ae4a884c-fa7bce72})
##### expm1(value) {#expm1}

欧拉数的负1次幂。

参数：

-   **value** - 要检查的值

例如，欧拉数的2 的- 1次方为6.38905609893065。

示例：

    expm1(last(/host/key))

[comment]: # ({/ae4a884c-fa7bce72})

[comment]: # ({d6651028-367cea41})
##### floor(value) {#floor}

将值向下舍入为最接近小于或等于的整数。

参数：

-   **value** - 要检查的值

例如，“2.6”将被向下舍入为“2”。另参见 [ceil()](#ceil)。

示例：

    floor(last(/host/key))

[comment]: # ({/d6651028-367cea41})

[comment]: # ({fb4ffc82-02960b00})
##### log(value) {#log}

自然对数。

参数：

-   **value** - 要检查的值

如，值“2”的自然对数为“0.69314718055994529”。

示例：

    log(last(/host/key))

[comment]: # ({/fb4ffc82-02960b00})

[comment]: # ({e44235f6-9eb02241})
##### log10(value) {#log10}

以10为底的对数。

参数：

-   **value** - 要检查的值

例如，值“5”的以10为底的对数为“0.69897000433”。

示例：

    log10(last(/host/key))

[comment]: # ({/e44235f6-9eb02241})

[comment]: # ({290c584f-9b8efc17})
##### max(<value1>,<value2>,...) {#max}

引用监控项值的最大值。

参数：

-   **valueX** - 由另一个处理监控项历史的函数返回值。

示例：

    max(avg(/host/key),avg(/host2/key2))

[comment]: # ({/290c584f-9b8efc17})

[comment]: # ({0e3e22ad-5e82e822})
##### min(<value1>,<value2>,...) {#min}

引用监控项值的最小值。

参数：

-   **valueX** - 由另一个处理监控项历史的函数返回值。

示例：

    min(avg(/host/key),avg(/host2/key2))

[comment]: # ({/0e3e22ad-5e82e822})

[comment]: # ({7e4ca5a9-120dd48b})
##### mod(value,denominator) {#mod}

除法余数。

参数：

-   **value** - 要检查的值；
-   **denominator** - 除法余数。

例如，值“5”除以“2”的余数将为“1”。

示例：

    mod(last(/host/key),2)

[comment]: # ({/7e4ca5a9-120dd48b})

[comment]: # ({5fae5f18-d8cd6290})

##### pi {#pi}

π常数（3.14159265358979）。

示例：

    pi()

[comment]: # ({/5fae5f18-d8cd6290})

[comment]: # ({0cb82367-617a0fc5})
##### power(value,power value) {#power}

值的幂。

参数：

-   **value** - 要检查的值；
-   **power value** - 要使用的N次方。

例如，值“2”的三次幂是“8”。

示例：

    power(last(/host/key),3)

[comment]: # ({/0cb82367-617a0fc5})

[comment]: # ({2e3144c2-c94a9d57})
##### radians(value) {#radians}

将值从度数转换为弧度。

参数：

-   **value** - 要检查的值

例如，值“1”转换为弧度为“0.0174532925”。

示例：

    radians(last(/host/key))

[comment]: # ({/2e3144c2-c94a9d57})

[comment]: # ({91941daf-16f1713f})
##### rand {#rand}

返回一个随机整数值。一个使用时间作为种子的伪随机生成的数字（用于数学目的足够，但用于密码学不行）。

示例：

    rand()

[comment]: # ({/91941daf-16f1713f})

[comment]: # ({7f0a355c-e19fd7cb})
##### round(value,decimal places) {#round}

将值四舍五入到小数位。

参数：

-   **value** - 要检查的值；
-   **decimal places** - 指定舍入的小数位（也可以为0）。

例如，值“2.5482”四舍五入到2个小数位是“2.55”。

示例：

    round(last(/host/key),2)

[comment]: # ({/7f0a355c-e19fd7cb})

[comment]: # ({12a89282-9668b2dc})
##### signum(value) {#signum}

如果值为负则返回“-1”，如果值为零则返回“0”，如果值为正则返回“1”。

参数：

-   **value** - 要检查的值

示例：

    signum(last(/host/key))

[comment]: # ({/12a89282-9668b2dc})

[comment]: # ({8b506ba0-1c54e7c1})
##### sin(value) {#sin}

值的正弦，其中该值是以弧度表示的角度。

参数：

-   **value** - 要检查的值

例如，值“1”的正弦值为“0.8414709848”。

示例：

    sin(last(/host/key))

[comment]: # ({/8b506ba0-1c54e7c1})

[comment]: # ({09da637d-f2223e46})
##### sinh(value) {#sinh}

值的双曲正弦，其中该值是以弧度表示的角度。

参数：

-   **value** - 要检查的值

例如，值为“1”的双曲正弦为“1.17520119364”。

示例：

    sinh(last(/host/key))

[comment]: # ({/09da637d-f2223e46})

[comment]: # ({b3339bb1-a732b60e})
##### sqrt(value) {#sqrt}

值的平方根。<br>
当负值时该函数将失败。

参数：

-   **value** - 要检查的值

例如，值“3.5”的平方根将是“1.87082869339”。

示例：

    sqrt(last(/host/key))

[comment]: # ({/b3339bb1-a732b60e})

[comment]: # ({70ac8084-0bbc007d})
##### sum(<value1>,<value2>,...) {#sum}

引用监控项值的总和。

参数：

-   **valueX** - 由另一个处理监控项历史的函数返回值。

示例：

    sum(avg(/host/key),avg(/host2/key2))

[comment]: # ({/70ac8084-0bbc007d})

[comment]: # ({f06f407d-49e10a41})
##### tan(value) {#tan}

值的正切。

参数：

-   **value** - 要检查的值

例如，值“1”的正切值为“1.55740772465”。

示例：

    tan(last(/host/key))

[comment]: # ({/f06f407d-49e10a41})

[comment]: # ({a6a9c548-53de5a0f})
##### truncate(value,decimal places) {#truncate}

将值截断到小数位。

参数：

-   **value** - 要检查的值；
-   **decimal places** - 指定舍入的小数位（也可以为0）。

例如，值“2.5482”被截断到2个小数位是“2.54”。

示例：

    truncate(last(/host/key),2)

[comment]: # ({/a6a9c548-53de5a0f})

[comment]: # ({544a48ff-92620b8c})
参见 [所有支持的函数](/manual/appendix/functions)。

[comment]: # ({/544a48ff-92620b8c})
