Compartir a través de


Operadores numéricos

Los tipos int, longy real representan tipos numéricos. Los operadores siguientes se pueden usar entre pares de estos tipos:

Operator Descripción Ejemplo
+ Sumar 3.14 + 3.14, ago(5m) + 5m
- Restar 0.23 - 0.22,
* Multiplicar 1s * 5, 2 * 2
/ Dividir 10m / 1s, 4 / 2
% Módulo 4 % 2
< Menor 1 < 10, , 10sec < 1h, now() < datetime(2100-01-01)
> Mayor 0.23 > 0.22, , 10min > 1sec, now() > ago(1d)
== Igual a 1 == 1
!= Not Equals 1 != 0
<= Menor o igual 4 <= 5
>= Mayor o igual 5 >= 4
in Igual a uno de los elementos ver aquí
!in No es igual a uno de los elementos ver aquí

Nota:

Para convertir de un tipo numérico a otro, use to*() funciones. Por ejemplo, vea tolong() y toint().

Reglas de tipo para operaciones aritméticas

El tipo de datos del resultado de una operación aritmética viene determinado por los tipos de datos de los operandos. Si uno de los operandos es de tipo real, el resultado será de tipo real. Si ambos operandos son de tipos enteros (int o long), el resultado será de tipo long.

Debido a estas reglas, el resultado de las operaciones de división que solo implican enteros se truncará en un entero, lo que podría no ser siempre lo que quiera. Para evitar el truncamiento, convierta al menos uno de los valores enteros en real mediante todouble () antes de realizar la operación.

En los ejemplos siguientes se muestra cómo afectan los tipos de operando al tipo de resultado en las operaciones de división.

Operación Resultado Descripción
1.0 / 2 0.5 Uno de los operandos es de tipo real, por lo que el resultado es real.
1 / 2.0 0.5 Uno de los operandos es de tipo real, por lo que el resultado es real.
1 / 2 0 Ambos operandos son de tipo int, por lo que el resultado es int. La división de enteros se produce y el decimal se trunca, lo que da lugar a 0 , 0.5como podría esperarse.
real(1) / 2 0.5 Para evitar el truncamiento debido a la división de enteros, uno de los int operandos se convirtió por primera vez al real uso de la real() función .

Comentario sobre el operador de módulo

El módulo de dos números siempre devuelve en Kusto un "número pequeño no negativo". Por lo tanto, el módulo de dos números, N % D, es tal que: 0 ≤ (N % D) < abs(D).

Por ejemplo, la siguiente consulta:

print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12

Genera este resultado:

plusPlus minusPlus plusMinus minusMinus
2 10 2 10