Operadores numéricos
Os tipos int
, long
e real
representam tipos numéricos.
Os seguintes operadores podem ser utilizados entre pares destes 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 |
< |
Less | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Maior | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Igual a | 1 == 1 |
!= |
Não é igual a | 1 != 0 |
<= |
Menor ou Igual | 4 <= 5 |
>= |
Maior ou Igual | 5 >= 4 |
in |
É igual a um dos elementos | veja aqui |
!in |
Não é igual a nenhum dos elementos | veja aqui |
Nota
Para converter de um tipo numérico para outro, utilize 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 estas regras, o resultado de operações de divisão que envolvem apenas números inteiros será truncado para um número inteiro, que pode nem sempre ser o que pretende. Para evitar a truncagem, converta pelo menos um dos valores inteiros para real
utilizar o todoúvel() antes de efetuar a operação.
Os exemplos seguintes ilustram como os tipos de operando afetam o tipo de resultado nas operações de divisão.
Operação | Resultado | Description |
---|---|---|
1.0 / 2 |
0.5 |
Um dos operandos é do tipo real , pelo que o resultado é real . |
1 / 2.0 |
0.5 |
Um dos operandos é do tipo real , pelo que o resultado é real . |
1 / 2 |
0 |
Ambos os operandos são do tipo int , pelo que o resultado é int . A divisão de números inteiros ocorre e o decimal é truncado, resultando em 0 em vez de 0.5 , como seria de esperar. |
real(1) / 2 |
0.5 |
Para evitar a truncagem devido à divisão de números inteiros, um dos int operandos foi convertido pela primeira vez para real utilizar a real() função. |
Comentário sobre o operador modulo
O modulo de dois números devolve sempre no Kusto um "pequeno número não negativo". Assim, o modulo 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.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários