Operator numerik

Jenis int, long, and real mewakili jenis numerik. Operator berikut dapat digunakan antara pasangan jenis ini:

Operator Deskripsi Contoh
+ Menambahkan 3.14 + 3.14, ago(5m) + 5m
- Pengurangan 0.23 - 0.22,
* Pengalian 1s * 5, 2 * 2
/ Pembagian 10m / 1s, 4 / 2
% Modulo 4 % 2
< Less 1 < 10, 10sec < 1h, now() < datetime(2100-01-01)
> Lebih besar 0.23 > 0.22, 10min > 1sec, now() > ago(1d)
== Sama 1 == 1
!= Tidak sama 1 != 0
<= Lebih kecil atau Sama 4 <= 5
>= Lebih besar atau Sama 5 >= 4
in Sama dengan salah satu elemen lihat di sini
!in Tidak sama dengan satu pun elemen lihat di sini

Catatan

Untuk mengonversi dari satu jenis numerik ke jenis numerik lainnya, gunakan fungsi to*(). Misalnya, lihat tolong() dan toint().

Jenis aturan untuk operasi aritmatika

Jenis data hasil operasi aritmatika ditentukan oleh jenis data operand. Jika salah satu operand berjenis real, hasilnya akan berjenis real. Jika kedua operan berjenis bilangan bulat (int atau long), hasilnya akan berjenis long.

Karena aturan ini, hasil operasi pembagian yang hanya melibatkan bilangan bulat akan dipotong menjadi bilangan bulat, yang mungkin tidak selalu seperti yang Anda inginkan. Untuk menghindari pemotongan, konversikan setidaknya salah satu nilai bilangan bulat untuk real menggunakan todouble() sebelum melakukan operasi.

Contoh berikut menggambarkan bagaimana jenis operand memengaruhi jenis hasil dalam operasi pembagian.

Operasi Hasil Deskripsi
1.0 / 2 0.5 Salah satu operan berjenis real, sehingga hasilnya adalah real.
1 / 2.0 0.5 Salah satu operan berjenis real, sehingga hasilnya adalah real.
1 / 2 0 Kedua operan berjenis int, sehingga hasilnya adalah int. Pembagian bilangan bulat terjadi dan desimal terpotong 0 , menghasilkan alih-alih 0.5, seperti yang mungkin diharapkan.
real(1) / 2 0.5 Untuk menghindari pemotongan karena pembagian bilangan bulat, salah int satu operan pertama kali dikonversi menjadi real menggunakan real() fungsi .

Komentar tentang operator modulo

Modulo dari dua angka selalu kembali dalam Kusto "angka non-negatif kecil". Dengan demikian, modulo dari dua angka, N % D, sedemikian rupa sehingga: 0 ≤ (N % D) < abs(D).

Misalnya, kueri berikut:

print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12

Menghasilkan hasil ini:

plusPlus minusPlus plusMinus minusMinus
2 10 2 10