Fungsi Rand dan RandBetween
Berlaku untuk: Aplikasi kanvas Alur desktop Aplikasi berdasarkan Power Pages Power Platform model CLI
Menghasilkan nomor acak pseudo.
Description
Fungsi Rand menghasilkan nomor acak pseudo yang lebih besar dari atau sama dengan 0 dan kurang dari 1. Misalnya, Rand() mungkin menghasilkan 0,43147 dan dapat menghasilkan 0 namun bukan 1.
Fungsi RandBetween menghasilkan integer acak-semu (bilangan bulat dengan tanpa bagian desimal) yang ada di antara dua angka, inklusif. Misalnya, RandBetween( 1, 3 ) dapat menghasilkan 1, 2, atau 3.
Fungsi Volatile
Rand dan RandBetween adalah fungsi yang mudah menguap. Setiap kali fungsi ini dievaluasi, fungsi akan menghasilkan nilai yang berbeda.
Bila digunakan dalam rumus aliran data, fungsi volatile hanya akan menghasilkan nilai yang berbeda jika rumus yang muncul dievaluasi ulang. Jika tidak ada perubahan lain dalam rumus maka akan memiliki nilai yang sama di seluruh eksekusi aplikasi Anda.
Misalnya, kontrol label dengan Label1.Text = Rand() tidak akan berubah saat aplikasi aktif. Hanya menutup dan membuka kembali aplikasi akan menghasilkan nilai baru.
Fungsi akan dievaluasi ulang jika fungsi merupakan bagian dari rumus dengan sesuatu yang lain telah berubah. Contohnya, jika kita mengubah contoh kita untuk melibatkan kontrol panel geser dengan Label1.Text = Slider1.Value + Rand(), maka nomor acak baru dihasilkan setiap kali nilai kontrol Panel Geser berubah dan properti teks label dievaluasi ulang. Lihat di bawah untuk contoh ini.
Bila digunakan dalam rumus perilaku, fungsi Rand dan RandBetween akan dievaluasi setiap kali rumus perilaku dievaluasi. Lihat di bawah ini untuk contoh.
Sintaks
Rand()
RandBetween( Bawah, Atas )
- Bawah - Diperlukan. Bilangan bulat terkecil yang dapat ditampilkan fungsi.
- Top - Wajib. Bilangan bulat terbesar yang dapat ditampilkan fungsi. Harus lebih besar dari atau sama dengan Bottom.
Contoh
Penggunaan dasar
Rumus | Description | Hasil |
---|---|---|
Rand() | Menghasilkan angka acak pseudo yang lebih besar dari atau sama dengan 0 dan kurang dari 1. | Bervariasi dengan setiap evaluasi, misalnya 0.874252. |
Rand() * 100 | Dikembangkan di atas contoh sebelumnya, menggunakan perkalian untuk memperluas rentang yang lebih besar atau sama dengan 0 dan kurang dari 100. | Bervariasi dengan setiap evaluasi, misalnya 78.42521. |
Int(Rand() * 100 ) | Membangun pada contoh sebelumnya, menggunakan fungsi Int untuk menghilangkan bagian desimal, sehingga integer lebih besar dari atau sama dengan 0 dan kurang dari 100 | Bervariasi dengan setiap evaluasi, misalnya 84. |
RandBetween( 0, 99 ) | Dikembangkan pada contoh sebelumnya, melakukan operasi yang sama menggunakan fungsi RandBetween | Bervariasi dengan setiap evaluasi, misalnya 21. |
RandBetween( -1, 1 ) | menghasilkan angka pseudo-acak yang ada di antara -1 dan 1 inklusif: -1, 0, atau 1. | Bervariasi dengan setiap evaluasi, misalnya -1. |
Menampilkan nomor acak yang berbeda saat input pengguna diubah dengan Rand
Tambahkan kontrol Panel geser, dan namai kembali Slider1 jika memiliki nama yang berbeda.
Tambahkan kontrol Label, dan atur properti Teks ke rumus ini:
Slider1.Nilai + Rand()
Label ini menunjukkan 50 (nilai default untuk panel geser) ditambah desimal acak:
Sambil menahan tombol Alt, ubah nilai panel geser.
Setiap kali Anda mengubah nilai panel geser, bagian desimal label akan menampilkan nomor acak yang berbeda:
Membuat tabel nomor acak dengan RandBetween
Tambahkan kontrol Button dan atur properti OnSelect ke rumus ini:
ClearCollect( RandomNumbers, ForAll( Urutan( 100 ), RandBetween( 1, 20 ) ))
Rumus ini membuat tabel satu kolom yang digunakan untuk berulang 100 kali, sehingga menghasilkan 100 nomor acak.
Tambahkan kontrol Tabel data, atur properti Item ke RandomNumbers, dan tampilkan bidang Nilai.
Sambil menahan tombol Alt, pilih tombol dengan mengklik atau mengetuknya.
Tabel data menunjukkan 100 angka acak antara 1 hingga 20:
Pilih kembali tombol untuk menampilkan daftar nomor acak berbeda:
Untuk membuat satu nomor acak, bukan tabel, gunakan Set( RandomNumber, Rand() ) atau Set( RandNumber, RandBetween( 1, 20 ) ).