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 les 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 |
/ |
Divide | 10m / 1s , 4 / 2 |
% |
Modulo | 4 % 2 |
< |
Less | 1 < 10 , , 10sec < 1h now() < datetime(2100-01-01) |
> |
Supérieur | 0.23 > 0.22 , , 10min > 1sec now() > ago(1d) |
== |
Égal à | 1 == 1 |
!= |
Non égal à | 1 != 0 |
<= |
Inférieur ou égal à | 4 <= 5 |
>= |
Supérieur ou égal à | 5 >= 4 |
in |
Égal à l’un des éléments | voir ici |
!in |
N’est égal à aucun des éléments | voir ici |
Remarque
Pour convertir d’un type numérique en 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 est 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 peut ne pas toujours être ce que vous voulez. Pour éviter la troncation, convertissez au moins une des valeurs entières en real
utilisant le 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.
Operation | Résultats | Description |
---|---|---|
1.0 / 2 |
0.5 |
L’un des opérandes est de type real , donc le résultat est real . |
1 / 2.0 |
0.5 |
L’un des opérandes est de type real , donc le résultat est real . |
1 / 2 |
0 |
Les deux opérandes sont de type int , donc le résultat est int . La division entière se produit et la décimale est tronquée, ce qui se 0 produit au lieu de 0.5 , comme on peut s’attendre. |
real(1) / 2 |
0.5 |
Pour éviter la troncation en raison d’une division entière, l’un des int opérandes a d’abord été converti en real utilisant 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, N % D, est tel que : 0 ≤ (N % D) < abs(D).
Par exemple, dans la requête qui suit :
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
Produit ce résultat :
plusPlus | moinsPlus | 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