[comment]: # attributes: notoc

[comment]: # (terms: abs, acos, asin, atan, atan2, avg, cbrt, ceil, cos, cosh, cot, degrees, e, exp, expm1, floor, log, log10, max, min, mod, pi, power, radians, rand, round, signum, sin, sinh, sqrt, sum, tan, truncate )

[comment]: # ({13d85cd4-ef4bef6c})
# 6 Funzioni matematiche

Tutte le funzioni elencate qui sono supportate in:

-   [Espressioni dei trigger](/manual/config/triggers/expression)
-   [Formule degli item calcolati](/manual/config/items/itemtypes/calculated)
-   [Macro di espressione](/manual/config/macros/expression_macros)

Le funzioni matematiche sono supportate con i tipi di valore float e integer,
salvo diversa indicazione.

Le funzioni sono elencate senza informazioni aggiuntive. Fare clic sulla funzione per visualizzare tutti i dettagli.

|Function|Description|
|--|--------|
|[abs](#abs)|Il valore assoluto di un valore.|
|[acos](#acos)|L'arcocoseno di un valore come angolo, espresso in radianti.|
|[asin](#asin)|L'arcoseno di un valore come angolo, espresso in radianti.|
|[atan](#atan)|L'arcotangente di un valore come angolo, espresso in radianti.|
|[atan2](#atan2)|L'arcotangente dell'ordinata (valore) e delle coordinate dell'ascissa specificate come angolo, espresso in radianti.|
|[avg](#avg)|Il valore medio dei valori item di riferimento.|
|[cbrt](#cbrt)|La radice cubica di un valore.|
|[ceil](#ceil)|Arrotonda il valore per eccesso all'intero più vicino maggiore o uguale.|
|[cos](#cos)|Il coseno di un valore, dove il valore è un angolo espresso in radianti.|
|[cosh](#cosh)|Il coseno iperbolico di un valore.|
|[cot](#cot)|La cotangente di un valore, dove il valore è un angolo espresso in radianti.|
|[degrees](#degrees)|Converte un valore da radianti a gradi.|
|[e](#e)|Il numero di Eulero (2.718281828459045).|
|[exp](#exp)|Il numero di Eulero elevato alla potenza di un valore.|
|[expm1](#expm1)|Il numero di Eulero elevato alla potenza di un valore meno 1.|
|[floor](#floor)|Arrotonda il valore per difetto all'intero più vicino minore o uguale.|
|[log](#log)|Il logaritmo naturale.|
|[log10](#log10)|Il logaritmo decimale.|
|[max](#max)|Il valore più alto dei valori item di riferimento.|
|[min](#min)|Il valore più basso dei valori item di riferimento.|
|[mod](#mod)|Il resto della divisione.|
|[pi](#pi)|La costante Pi greco (3.14159265358979).|
|[power](#power)|La potenza di un valore.|
|[radians](#radians)|Converte un valore da gradi a radianti.|
|[rand](#rand)|Restituisce un valore intero casuale.|
|[round](#round)|Arrotonda il valore alle cifre decimali.|
|[signum](#signum)|Restituisce '-1' se un valore è negativo, '0' se un valore è zero, '1' se un valore è positivo.|
|[sin](#sin)|Il seno di un valore, dove il valore è un angolo espresso in radianti.|
|[sinh](#sinh)|Il seno iperbolico di un valore, dove il valore è un angolo espresso in radianti.|
|[sqrt](#sqrt)|La radice quadrata di un valore.|
|[sum](#sum)|La somma dei valori item di riferimento.| 
|[tan](#tan)|La tangente di un valore.|
|[truncate](#truncate)|Tronca il valore alle cifre decimali.|

[comment]: # ({/13d85cd4-ef4bef6c})

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

Alcune note generali sui parametri della funzione:

-   I parametri della funzione sono separati da una virgola
-   Le espressioni sono accettate come parametri
-   I parametri opzionali della funzione (o parti di parametro) sono indicati da
    `<` `>`

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

[comment]: # ({39973c9a-89cbc486})
##### abs(value) {#abs}

Il valore assoluto (a partire da 0) di un valore.

Parametro:

-   **value** - il valore da controllare

Ad esempio, il valore assoluto di '3' o '-3' sarà '3'.

Esempio:

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

[comment]: # ({/39973c9a-89cbc486})

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

L'arcocoseno di un valore come angolo, espresso in radianti.

Parametro:

-   **value** - il valore da controllare

Il valore deve essere compreso tra -1 e 1. Ad esempio, l'arcocoseno del valore '0.5' sarà '2.0943951'.

Esempio:

    acos(last(/host/key))

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

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

L'arcoseno di un valore come angolo, espresso in radianti.

Parametro:

-   **value** - il valore da controllare

Il valore deve essere compreso tra -1 e 1. Ad esempio, l'arcoseno del valore '0.5' sarà '-0.523598776'.

Esempio:

    asin(last(/host/key))

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

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

L'arcotangente di un valore come angolo, espressa in radianti.

Parametro:

-   **value** - il valore da verificare

Ad esempio, l'arcotangente del valore '1' sarà '0.785398163'.

Esempio:

    atan(last(/host/key))

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

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

L'arcotangente delle coordinate dell'ordinata (value) e dell'ascissa specificata come angolo, espressa in radianti.

Parametri: 

-   **value** - il valore da controllare;
-   **abscissa** - il valore dell'ascissa.

Ad esempio, l'arcotangente delle coordinate dell'ordinata e dell'ascissa di un valore '1' sarà '2.21429744'.

Esempio:

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

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

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

Il valore medio dei valori degli item referenziati.

Parametro: 

-   **valueX** - il valore restituito da un'altra funzione che lavora con la cronologia degli item.

Esempio:

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

[comment]: # ({/94ba0bc0-6d42ceda})

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

La radice cubica di un valore.

Parametro:

-   **value** - il valore da controllare

Ad esempio, la radice cubica di '64' sarà '4', quella di '63' sarà '3.97905721'.

Esempio:

    cbrt(last(/host/key))

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

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

Arrotonda il valore per eccesso all'intero maggiore o uguale più vicino.

Parametro: 

-   **value** - il valore da verificare

Ad esempio, '2.4' verrà arrotondato per eccesso a '3'. Vedi anche [floor()](#floor).

Esempio:

    ceil(last(/host/key))

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

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

Il coseno di un valore, dove il valore è un angolo espresso in radianti.

Parametro: 

-   **value** - il valore da controllare

Per esempio, il coseno del valore '1' sarà '0.54030230586'.

Esempio:

    cos(last(/host/key))

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

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

Il coseno iperbolico di un valore.
Restituisce il valore come numero reale, non in notazione scientifica.

Parametro: 

-   **value** - il valore da controllare

Ad esempio, il coseno iperbolico del valore '1' sarà '1.54308063482'.

Esempio:

    cosh(last(/host/key))

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

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

La cotangente di un valore, dove il valore è un angolo espresso in radianti.

Parametro:

-   **value** - il valore da controllare

Per esempio, la cotangente del valore '1' sarà '0.54030230586'.

Esempio:

    cot(last(/host/key))

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

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

Converte un valore da radianti a gradi.

Parametro:

-   **value** - il valore da controllare

Ad esempio, un valore '1' convertito in gradi sarà '57.2957795'.

Esempio:

    degrees(last(/host/key))

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

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

Il numero di Eulero (2.718281828459045).

Esempio:

    e()

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

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

Il numero di Eulero elevato alla potenza di un valore.

Parametro: 

-   **value** - il valore da controllare

Per esempio, il numero di Eulero elevato alla potenza del valore '2' sarà '7.38905609893065'.

Esempio:

    exp(last(/host/key))

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

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

Il numero di Eulero elevato alla potenza di un valore meno 1.

Parametro: 

-   **value** - il valore da controllare

Ad esempio, il numero di Eulero elevato alla potenza del valore '2' meno 1 sarà '6.38905609893065'.

Esempio:

    expm1(last(/host/key))

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

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

Arrotonda il valore per difetto all'intero più piccolo o uguale più vicino.

Parametro: 

-   **value** - il valore da controllare

Ad esempio, '2.6' verrà arrotondato per difetto a '2'. Vedi anche [ceil()](#ceil).

Esempio:

    floor(last(/host/key))

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

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

Il logaritmo naturale.

Parametro:

-   **value** - il valore da controllare

Ad esempio, il logaritmo naturale di un valore '2' sarà '0.69314718055994529'.

Esempio:

    log(last(/host/key))

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

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

Il logaritmo decimale.

Parametro: 

-   **value** - il valore da controllare

Per esempio, il logaritmo decimale del valore '5' sarà '0.69897000433'.

Esempio:

    log10(last(/host/key))

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

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

Il valore più alto tra i valori dell'item referenziato.

Parametro: 

-   **valueX** - il valore restituito da un'altra funzione che lavora con la cronologia dell'item.

Esempio:

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

[comment]: # ({/3b20d32e-9b8efc17})

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

Il valore più basso tra i valori degli item di riferimento.

Parametro: 

-   **valueX** - il valore restituito da un'altra funzione che lavora con la cronologia degli item.

Esempio:

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

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

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

Il resto della divisione.

Parametri: 

-   **value** - il valore da controllare;
-   **denominator** - il denominatore della divisione.

Ad esempio, il resto della divisione del valore '5' con denominatore della divisione '2' sarà '1'.

Esempio:

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

[comment]: # ({/0c1c211e-120dd48b})

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

La costante Pi (3.14159265358979).

Esempio:

    pi()

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

[comment]: # ({e5f39714-617a0fc5})
##### power(valore,valore della potenza) {#power}

La potenza di un valore.

Parametri: 

-   **valore** - il valore da controllare;
-   **valore della potenza** - la potenza N-esima da utilizzare.

Ad esempio, la terza potenza di un valore '2' sarà '8'.

Esempio:

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

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

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

Converte un valore da gradi a radianti.

Parametro: 

-   **value** - il valore da controllare

Ad esempio, un valore '1' convertito in radianti sarà '0.0174532925'.

Esempio:

    radians(last(/host/key))

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

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

Restituisce un valore intero casuale. Un numero pseudo-casuale generato usando il tempo come seed (sufficiente per scopi matematici, ma non per la crittografia).

Esempio:

    rand()

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

[comment]: # ({d95689d5-e19fd7cb})
##### round(valore, posizioni decimali) {#round}

Arrotonda il valore al numero di posizioni decimali specificato.

Parametri: 

-   **valore** - il valore da controllare;
-   **posizioni decimali** - specifica il numero di posizioni decimali per l'arrotondamento (è possibile anche 0).

Ad esempio, un valore '2.5482' arrotondato a 2 posizioni decimali diventerà '2.55'.

Esempio:

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

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

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

Restituisce '-1' se un valore è negativo, '0' se un valore è zero, '1' se un valore è positivo.

Parametro: 

-   **value** - il valore da controllare.

Esempio:

    signum(last(/host/key))

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

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

Il seno di un valore, dove il valore è un angolo espresso in radianti.

Parametro:

-   **value** - il valore da controllare

Ad esempio, il seno del valore '1' sarà '0.8414709848'.

Esempio:

    sin(last(/host/key))

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

[comment]: # ({8e4e9ad3-f2223e46})
##### sinh(value) {#sinh}

Il seno iperbolico di un valore.

Parametro:

-   **value** - il valore da controllare

Ad esempio, il seno iperbolico del valore '1' sarà '1.17520119364'.

Esempio:

    sinh(last(/host/key))

[comment]: # ({/8e4e9ad3-f2223e46})

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

La radice quadrata di un valore.<br>
Questa funzione non riuscirà con un valore negativo.

Parametro:

-   **value** - il valore da controllare

Ad esempio, la radice quadrata di un valore '3.5' sarà '1.87082869339'.

Esempio:

    sqrt(last(/host/key))

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

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

La somma dei valori degli item referenziati.

Parametro: 

-   **valueX** - il valore restituito da un'altra funzione che lavora con la cronologia degli item.

Esempio:

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

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

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

La tangente di un valore.

Parametro:

-   **value** - il valore da controllare

Ad esempio, la tangente del valore '1' sarà '1.55740772465'.

Esempio:

    tan(last(/host/key))

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

[comment]: # ({4a3d082a-53de5a0f})
##### truncate(valore, posizioni decimali) {#truncate}

Tronca il valore al numero di posizioni decimali specificato.

Parametri: 

-   **valore** - il valore da controllare;
-   **posizioni decimali** - specifica il numero di posizioni decimali per il troncamento (è possibile anche 0).

Ad esempio, un valore '2.5482' troncato a 2 posizioni decimali diventerà '2.54'.

Esempio:

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

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

[comment]: # ({f4a01c90-92620b8c})
Vedere [tutte le funzioni supportate](/manual/config/triggers/expression#functions).

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