Operadores numéricos
Os tipos int
, long
e real
representam tipos numéricos.
Os seguintes operadores podem ser usados entre pares desses tipos:
Operador | Descrição | Exemplo |
---|---|---|
+ |
Adicionar | 3.14 + 3.14 , ago(5m) + 5m |
- |
Subtrair | 0.23 - 0.22 , |
* |
Multiplicar | 1s * 5 , 2 * 2 |
/ |
Dividir | 10m / 1s , 4 / 2 |
% |
Módulo | 4 % 2 |
< |
Menor que | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Maior que | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
É igual a | 1 == 1 |
!= |
Diferente de | 1 != 0 |
<= |
Menor que ou Igual a | 4 <= 5 |
>= |
Maior que ou Igual a | 5 >= 4 |
in |
Equivale a um dos elementos | veja aqui |
!in |
Não equivale a qualquer um dos elementos | veja aqui |
Observação
Para converter de um tipo numérico para outro, use to*()
funções. Por exemplo, veja tolong()
e toint()
.
Regras de tipo para operações aritméticas
O tipo de dados do resultado de uma operação aritmética é determinado pelos tipos de dados dos operandos. Se um dos operandos for do tipo real
, o resultado será do tipo real
. Se ambos os operandos forem de tipos inteiros (int
ou long
), o resultado será do tipo long
.
Devido a essas regras, o resultado de operações de divisão que envolvem apenas inteiros será truncado para um inteiro, o que pode nem sempre ser o que você deseja. Para evitar truncamento, converta pelo menos um dos valores inteiros em real
usando todouble() antes de executar a operação.
Os exemplos a seguir ilustram como os tipos de operando afetam o tipo de resultado em operações de divisão.
Operação | Result | Descrição |
---|---|---|
1.0 / 2 |
0.5 |
Um dos operandos é do tipo real , portanto, o resultado é real . |
1 / 2.0 |
0.5 |
Um dos operandos é do tipo real , portanto, o resultado é real . |
1 / 2 |
0 |
Ambos os operandos são do tipo int , portanto, o resultado é int . A divisão de inteiros ocorre e o decimal é truncado, resultando em 0 em em vez de 0.5 , como se poderia esperar. |
real(1) / 2 |
0.5 |
Para evitar truncamento devido à divisão de inteiros, um dos int operandos foi convertido pela primeira vez em real usando a real() função . |
Comentário sobre o operador de módulo
O módulo de dois números sempre retorna em Kusto um "pequeno número não negativo". Portanto, o módulo de dois números, N % D, é tal que: 0 ≤ (N % D) < abs(D).
Por exemplo, a seguinte consulta:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Produz este resultado:
plusPlus | minusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de