Rand và RandGiữa các hàm
Áp dụng cho: Ứng dụng Canvas Luồng máy tính để bàn Ứng dụng dựa trên mô hình Power Pages Power Platform CLI
Trả về một số giả ngẫu nhiên.
Description
Hàm Rand trả về một số giả ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ hơn 1. Ví dụ: Rand() có thể trả về 0,43147 và có thể trả về 0 nhưng không được là 1.
Hàm RandBetween trả về một số nguyên giả ngẫu nhiên (số nguyên không có phần thập phân) nằm giữa hai số. Ví dụ: RandBetween( 1, 3 ) có thể trả về 1, 2 hoặc 3.
Hàm biến đổi
Rand và RandBetween là hàm biến động. Mỗi khi thực thi, hàm này sẽ trả về một giá trị khác nhau.
Khi được sử dụng trong công thức luồng dữ liệu, hàm biến đổi sẽ chỉ trả về một giá trị khác nếu công thức trong hàm được đánh giá lại. Nếu các yếu tố khác trong công thức không đổi, công thức sẽ có cùng giá trị trong suốt quá trình ứng dụng hoạt động.
Ví dụ: tùy chọn nhãn với Label1.Text = Rand() sẽ không thay đổi trong khi ứng dụng của bạn đang hoạt động. Chỉ cần đóng rồi mở lại ứng dụng, hàm sẽ trả vê một giá trị mới.
Hàm này sẽ được đánh giá lại nếu nằm trong công thức có yếu tố thay đổi. Ví dụ: nếu chúng ta thay đổi ví dụ để thêm tùy chọn thanh trượt có Label1.Text = Slider1.Value + Rand() thì số ngẫu nhiên mới được tạo mỗi khi giá trị của Thanh trượt thay đổi và thuộc tính văn bản của nhãn được đánh giá lại. Xem ví dụ về trường hợp này trong phần dưới đây.
Khi được sử dụng trong công thức hành vi, hàm Rand và RandBetween sẽ được đánh giá mỗi khi công thức hành vi được đánh giá. Xem ví dụ dưới đây.
Cú pháp
Rand()
RandGiữa( Dưới, Trên cùng )
- Phần dưới - Bắt buộc. Số nguyên nhỏ nhất mà hàm có thể trả về.
- Top - Bắt buộc. Số nguyên lớn nhất mà hàm có thể trả về. Phải bằng hoặc lớn hơn Bottom.
Ví dụ
Cách sử dụng cơ bản
Công thức | Description | Kết quả |
---|---|---|
Đồng xu() | Trả về một số giả ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ hơn 1. | Thay đổi theo từng lần đánh giá, ví dụ như 0,874252. |
Rand() * 100 | Dựa trên ví dụ trước, sử dụng phép nhân để mở rộng phạm vi lớn hơn hoặc bằng 0 và nhỏ hơn 100. | Thay đổi theo từng lần đánh giá, ví dụ như 78,42521. |
Số nguyên(Rand() * 100) | Dựa trên ví dụ trước, sử dụng hàm Int để loại bỏ phần thập phân, dẫn đến một số nguyên lớn hơn hoặc bằng 0 và nhỏ hơn 100 | Thay đổi theo từng lần đánh giá, ví dụ như 84. |
RandGiữa( 0, 99 ) | Dựa trên ví dụ trước, thực hiện thao tác tương tự bằng hàm RandBetween | Thay đổi theo từng lần đánh giá, ví dụ như 21. |
RandGiữa(-1, 1) | Trả về một số giả ngẫu nhiên nằm trong khoảng từ -1 đến 1 bao gồm: -1, 0 hoặc 1. | Thay đổi theo từng lần đánh giá, ví dụ như -1. |
Hiển thị số ngẫu nhiên khác nhau khi người dùng thay đổi nội dung nhập vào với Rand
Thêm tùy chọn Slider (Thanh trượt) rồi đổi tên thành Slider1 nếu tùy chọn này có tên khác.
Thêm tùy chọn Label rồi đặt thuộc tính Văn bản thành công thức sau:
Slider1.Giá trị + Rand()
Nhãn hiển thị 50 (giá trị mặc định của thanh trượt) cộng với một số thập phân ngẫu nhiên:
Trong khi giữ phím Alt, hãy thay đổi giá trị của thanh trượt.
Mỗi khi bạn thay đổi giá trị của thanh trượt, phần thập phân của nhãn sẽ hiển thị một số ngẫu nhiên khác nhau:
Tạo một bảng các số ngẫu nhiên với RandBetween
Thêm tùy chọn kiểm soát Button rồi đặt thuộc tính OnSelect thành công thức sau:
ClearCollect(Số ngẫu nhiên, ForAll(Chuỗi(100), RandBetween(1, 20)))
Công thức này tạo bảng một cột được sử dụng lặp lại 100 lần, dẫn đến 100 số ngẫu nhiên.
Thêm công cụ điều khiển Data table (Bảng dữ liệu), đặt thuộc tính Items (Mục) của bảng dữ liệu này thành RandomNumbers và hiển thị trường Value.
Chọn nút bằng cách bấm hoặc nhấn vào nút đó đồng thời nhấn và giữ phím Alt.
Bảng dữ liệu hiển thị 100 trăm số ngẫu nhiên từ 1 đến 20:
Chọn lại nút để hiển thị danh sách số ngẫu nhiên khác:
Để tạo một số ngẫu nhiên duy nhất thay vì bảng, hãy sử dụng hàm Set( RandomNumber, Rand() ) hoặc Set( RandNumber, RandBetween( 1, 20 ) ).