Opérateurs numériques
Les types int
, long
et real
représentent les types numériques.
Les opérateurs suivants peuvent être utilisés entre des paires de ces types :
Opérateur | Description | Exemple |
---|---|---|
+ |
Ajouter | 3.14 + 3.14 , ago(5m) + 5m |
- |
Soustraire | 0.23 - 0.22 , |
* |
Multiplier | 1s * 5 , 2 * 2 |
/ |
Diviser | 10m / 1s , 4 / 2 |
% |
Modulo | 4 % 2 |
< |
Less | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
Greater | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Égal à | 1 == 1 |
!= |
Non égal à | 1 != 0 |
<= |
Less or Equal | 4 <= 5 |
>= |
Greater or Equal | 5 >= 4 |
in |
Égal à l’un des éléments | voir ici |
!in |
N’est égal à aucun des éléments | voir ici |
Notes
Pour convertir d’un type numérique à un autre, utilisez des to*()
fonctions. Par exemple, consultez tolong()
et toint()
.
Règles de type pour les opérations arithmétiques
Le type de données du résultat d’une opération arithmétique est déterminé par les types de données des opérandes. Si l’un des opérandes est de type real
, le résultat sera de type real
. Si les deux opérandes sont de types entiers (int
ou long
), le résultat sera de type long
.
En raison de ces règles, le résultat des opérations de division qui impliquent uniquement des entiers sera tronqué en entier, ce qui n’est peut-être pas toujours ce que vous voulez. Pour éviter la troncation, convertissez au moins une des valeurs entières en real
utilisant todouble() avant d’effectuer l’opération.
Les exemples suivants illustrent comment les types d’opérande affectent le type de résultat dans les opérations de division.
Opération | Résultats | Description |
---|---|---|
1.0 / 2 |
0.5 |
L’un des opérandes est de type real , le résultat est real donc . |
1 / 2.0 |
0.5 |
L’un des opérandes est de type real , le résultat est real donc . |
1 / 2 |
0 |
Les deux opérandes étant de type int , le résultat est int . La division entière se produit et la décimale est tronquée, ce qui entraîne 0 au lieu de , comme on peut s’y 0.5 attendre. |
real(1) / 2 |
0.5 |
Pour éviter la troncation due à la division entière, l’un int des opérandes a d’abord été converti à l’aide de real la real() fonction . |
Commentaire sur l’opérateur modulo
Le modulo de deux nombres retourne toujours dans Kusto un « petit nombre non négatif ». Ainsi, le modulo de deux nombres, ND % , est tel que : 0 ≤ (N % D) < abs(D).
Par exemple, la requête suivante :
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Produit ce résultat :
plusPlus | minusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour