Operadores numéricos
Los tipos int
, long
y real
representan tipos numéricos.
Los operadores siguientes se pueden usar entre pares de estos tipos:
Operador | Descripción | Ejemplo |
---|---|---|
+ |
Agregar | 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) |
== |
Equals | 1 == 1 |
!= |
Not Equals | 1 != 0 |
<= |
Menor o igual a | 4 <= 5 |
>= |
Mayor o igual a | 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á a un entero, que podría no ser siempre lo que desee. 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 0.5 a 0 , como podría esperarse. |
real(1) / 2 |
0.5 |
Para evitar el truncamiento debido a la división de enteros, primero se convirtió uno de los int operandos 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 consulta siguiente:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Genera este resultado:
plusPlus | minusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de