Numerieke operators
De typen int
, long
en real
vertegenwoordigen numerieke typen.
De volgende operators kunnen worden gebruikt tussen paren van deze typen:
Operator | Beschrijving | Voorbeeld |
---|---|---|
+ |
Toevoegen | 3.14 + 3.14 , ago(5m) + 5m |
- |
Aftrekken | 0.23 - 0.22 , |
* |
Vermenigvuldigen | 1s * 5 , 2 * 2 |
/ |
Delen | 10m / 1s , 4 / 2 |
% |
Modulo | 4 % 2 |
< |
Less | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Groter | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Is gelijk aan | 1 == 1 |
!= |
Is niet gelijk aan | 1 != 0 |
<= |
Kleiner of gelijk aan | 4 <= 5 |
>= |
Groter of gelijk aan | 5 >= 4 |
in |
Is gelijk aan een van de elementen | kijk hier |
!in |
Is niet gelijk aan een van de elementen | kijk hier |
Notitie
Als u van het ene numerieke type naar het andere wilt converteren, gebruikt u to*()
functies. Zie bijvoorbeeld tolong()
en toint()
.
Typeregels voor rekenkundige bewerkingen
Het gegevenstype van het resultaat van een rekenkundige bewerking wordt bepaald door de gegevenstypen van de operanden. Als een van de operanden van het type real
is, is het resultaat van het type real
. Als beide operanden van het type geheel getal (int
of long
) zijn, is het resultaat van het type long
.
Als gevolg van deze regels wordt het resultaat van delingsbewerkingen waarbij alleen gehele getallen zijn betrokken, afgekapt tot een geheel getal. Dit is mogelijk niet altijd wat u wilt. Om afkapping te voorkomen, converteert u ten minste één van de waarden voor gehele getallen naar real
de todouble() voordat u de bewerking uitvoert.
In de volgende voorbeelden ziet u hoe de operandtypen van invloed zijn op het resultaattype in delingsbewerkingen.
Bewerking | Resultaat | Beschrijving |
---|---|---|
1.0 / 2 |
0.5 |
Een van de operanden is van het type real , dus het resultaat is real . |
1 / 2.0 |
0.5 |
Een van de operanden is van het type real , dus het resultaat is real . |
1 / 2 |
0 |
Beide operanden zijn van het type int , dus het resultaat is int . Deling van gehele getallen vindt plaats en het decimaal getal wordt afgekapt, wat resulteert 0 in in plaats van 0.5 , zoals men zou verwachten. |
real(1) / 2 |
0.5 |
Om afkapping vanwege deling van gehele getallen te voorkomen, is een van de int operanden eerst geconverteerd naar real de real() functie . |
Opmerking over de modulo-operator
De modulo van twee getallen retourneert in Kusto altijd een 'klein niet-negatief getal'. De modulo van twee getallen, N % D, is dus zodanig dat: 0 ≤ (N % D) < abs(D).
Bijvoorbeeld de volgende query:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Produceert dit resultaat:
plusPlus | minusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor