Číselné operátory
Typy int
, long
a real
představují číselné typy.
Mezi dvojicemi těchto typů lze použít následující operátory:
Operátor | Popis | Příklad |
---|---|---|
+ |
Přidání | 3.14 + 3.14 , ago(5m) + 5m |
- |
Odčítání | 0.23 - 0.22 , |
* |
Násobení | 1s * 5 , 2 * 2 |
/ |
Dělení | 10m / 1s , 4 / 2 |
% |
Modulo | 4 % 2 |
< |
Less | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Větší | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Je rovno | 1 == 1 |
!= |
Nerovná se | 1 != 0 |
<= |
Menší nebo rovno | 4 <= 5 |
>= |
Větší nebo rovno | 5 >= 4 |
in |
Rovná se jednomu z prvků | další informace najdete tady. |
!in |
Nerovná se žádnému z prvků. | další informace najdete tady. |
Poznámka
Pokud chcete převést jeden číselný typ na jiný, použijte to*()
funkce. Podívejte se například na tolong()
a toint()
.
Pravidla typů pro aritmetické operace
Datový typ výsledku aritmetické operace je určen datovými typy operandů. Pokud je jeden z operandů typu real
, výsledek bude typu real
. Pokud jsou oba operandy celočíselného typu (int
nebo long
), bude výsledek typu long
.
Díky těmto pravidlům se výsledek operací dělení, které zahrnují pouze celá čísla, zkrátí na celé číslo, což nemusí být vždy to, co chcete. Chcete-li předejít zkrácení, převeďte před provedením operace alespoň jednu celočíselnou hodnotu na real
použití todouble( ).
Následující příklady ukazují, jak typy operandů ovlivňují typ výsledku v operacích dělení.
Operace | Výsledek | Description |
---|---|---|
1.0 / 2 |
0.5 |
Jeden z operandů je typu real , takže výsledek je real . |
1 / 2.0 |
0.5 |
Jeden z operandů je typu real , takže výsledek je real . |
1 / 2 |
0 |
Oba operandy jsou typu int , takže výsledek je int . Dojde k celočíselnému dělení a desetinné číslo se zkrátí, což vede k hodnotě 0 namísto 0.5 , jak by se dalo očekávat. |
real(1) / 2 |
0.5 |
Aby nedošlo ke zkrácení kvůli dělení celého čísla, byl jeden z int operandů nejprve převeden na real funkci real() . |
Komentář k operátoru modulo
Modulo dvou čísel vždy vrátí v Kusto "malé nezáporné číslo". Modulo dvou čísel, N % D, je tedy takový, že: 0 ≤ (N % D) < abs(D).
Například následující dotaz:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Výsledkem je tento výsledek:
plusPlus | MinusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro