Numerikus operátorok
A , long
és real
típus int
numerikus típusokat jelöl.
Az alábbi operátorok használhatók az ilyen típusú párok között:
Operátor | Leírás | Példa |
---|---|---|
+ |
Hozzáadás | 3.14 + 3.14 , ago(5m) + 5m |
- |
Kivonás | 0.23 - 0.22 , |
* |
Szorzás | 1s * 5 , 2 * 2 |
/ |
Osztás | 10m / 1s , 4 / 2 |
% |
Moduló | 4 % 2 |
< |
Less | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Nagyobb | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Egyenlő | 1 == 1 |
!= |
Nem egyenlő | 1 != 0 |
<= |
Kisebb vagy egyenlő | 4 <= 5 |
>= |
Nagyobb vagy egyenlő | 5 >= 4 |
in |
Egyenlő az elemek egyikével | lásd itt |
!in |
Nem egyenlő egyetlen elemével sem | lásd itt |
Megjegyzés
Az egyik numerikus típusról egy másikra való konvertáláshoz használjon to*()
függvényeket. Lásd például: tolong()
vagy toint()
.
Típusszabályok aritmetikai műveletekhez
Az aritmetikai művelet eredményének adattípusát az operandusok adattípusai határozzák meg. Ha az operandusok egyikének típusa real
, az eredmény típusa real
. Ha mindkét operandus egész típusú (int
vagy long
), az eredmény típusa long
.
Ezen szabályok miatt a csak egész számokat tartalmazó osztási műveletek eredménye egész számra lesz csonkulva, ami nem mindig a kívánt érték. A csonkolás elkerülése érdekében a művelet végrehajtása előtt alakítsa át az egész számértékek real
legalább egyikét a todouble() értékre.
Az alábbi példák bemutatják, hogy az operandustípusok hogyan befolyásolják az osztási műveletek eredménytípusát.
Művelet | Eredmény | Description |
---|---|---|
1.0 / 2 |
0.5 |
Az operandusok egyike típusreal , ezért az eredmény .real |
1 / 2.0 |
0.5 |
Az operandusok egyike típusreal , ezért az eredmény .real |
1 / 2 |
0 |
Mindkét operandus típusa int , ezért az eredmény .int Az egész szám osztása történik, és a decimális csonkul, ami 0 a helyett 0.5 a -t eredményezi, ahogy az várható. |
real(1) / 2 |
0.5 |
Az egész szám osztás miatti csonkolás elkerülése érdekében az egyik operandus először a int real() függvény használatára lett konvertálvareal . |
Megjegyzés a modulo operátorról
Két szám moduloja mindig egy "kis nem negatív szám" értéket ad vissza a Kusto-ban. Így a modulo két szám, N % D, olyan, hogy: 0 ≤ (N % D) < abs(D).
Például a következő lekérdezés:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Ezt az eredményt hozza létre:
plusPlus | minusPlus | plusMinus | mínuszMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: