Funkcja Rand i RandBetween
Dotyczy: Aplikacje kanwy Przepływy pulpitu Aplikacje oparte na modelu Interfejs Power Pages Power Platform wiersza polecenia aplikacji opartych na modelu
Zwraca liczbę pseudolosową.
Popis
Funkcja Rand zwraca liczbę pseudolosową większą lub równą 0 i mniejszą od 1. Na przykład Rand() może zwrócić 0.43147 i może zwrócić 0, ale nie 1.
Funkcja RandBetween zwraca losową liczbę całkowitą (liczbę całkowitą bez części dziesiętnej) mniejszą od dwóch liczb. Na przykład w RandBetween( 1, 3 ) może zwrócić 1, 2 lub 3.
Funkcje nietrwałe
Rand i RandBetween są funkcjami ulotnymi. Każde wywołanie funkcji zwraca inną wartość.
Funkcja nietrwała używana w formule przepływu danych zwróci inną wartość tylko wtedy, gdy formuła, w której ta funkcja się znajduje, zostanie obliczona ponownie. Jeśli nic innego się nie zmieni, funkcja będzie mieć taką samą wartość podczas wykonywania aplikacji.
Na przykład kontrolka etykiety z tekstem Label1.Text = Rand() nie ulegnie zmianie, gdy aplikacja będzie aktywna. Tylko zamknięcie i ponowne otwarcie aplikacji spowoduje zwrócenie nowej wartości.
Funkcja zostanie obliczona ponownie, jeśli jest częścią formuły, w której zmienił się inny element. Jeśli na przykład zmienimy nasz przykład tak, aby uwzględniał kontrolkę slider z tekstem Label1.Text = Slider1.Value + Rand(), nowa liczba będzie losowo generowana za każdym razem, gdy wartość kontrolki Slider zmieni się, a właściwość tekstu etykiety będzie ponownie obliczana. Zobacz ten przykład poniżej.
W przypadku użycia w formule zachowania funkcja Rand i RandBetween będzie obliczana zawsze, gdy będzie obliczana wartość formuły zachowania. Zobacz przykład poniżej.
Składnia
Rand()
RandBetween( Dół, Góra )
- Na dole - Wymagane. Najmniejsza liczba całkowita, jaką może zwrócić funkcja.
- Góra - Wymagane. Największa liczba całkowita, jaką może zwrócić funkcja. Musi być równy lub większy niż Dolne.
Przykłady
Podstawowy sposób użycia
Formuła | Opis | Result |
---|---|---|
Rand() | Zwraca liczbę pseudolosową większą lub równą 0 i mniejszą od 1. | Różnią się w poszczególnych ocenach, na 0,874252. |
Rand() * 100 | Na podstawie poprzedniego przykładu użyto kedytowania w celu rozszerzenia zakresu do większej lub równej 0 i mniejszej niż 100. | Różnią się w poszczególnych ocenach, na 78,42521. |
Int( Rand() * 100 ) | Opierając się na poprzednim przykładzie, używa funkcji Int do usunięcia części dziesiętnej, co daje w wyniku liczbę całkowitą większą lub równą 0 i mniejszą niż 100 | Różnią się w poszczególnych ocenach, na 84. |
RandPomiędzy( 0, 99 ) | Korzystając z poprzedniego przykładu, wykonuje tę samą operację przy użyciu funkcji RandBetween | Różnią się w poszczególnych ocenach, na 21. |
RandBetween( -1, 1 ) | Zwraca pseudolosową liczbę z zakresu od -1 do 1 włącznie: -1, 0 lub 1. | Różnią się w poszczególnych ocenach, na -1. |
Wyświetlanie innej liczby losowej w przypadku wprowadzania zmian przez użytkownika z Rand
Dodaj kontrolkę Slider i zmień jej nazwę na Slider1, jeśli ma inną nazwę.
Dodaj kontrolkę Label i ustaw jej właściwość Text na następującą formułę:
Suwak1.Wartość + Rand()
Etykieta zawiera liczbę 50 (wartość domyślną suwaka) i losową wartość dziesiętną:
Trzymając naciśnięty klawisz Alt, zmień wartość suwaka.
Przy każdej zmianie wartości suwaka część dziesiętna etykiety będzie zawierać inną liczbę losową:
Tworzenie tabeli liczb losowych przy użyciu funkcji RandBetween
Dodaj kontrolkę Button i ustaw jej właściwość OnSelect na następującą formułę:
ClearCollect( LiczbyLosowe, Dla Wszystkich( Sekwencja( 100 ), RandBetween( 1, 20 ) ))
Ta formuła tworzy jednokolumnową tabelę, która jest używana do iteracji 100 razy, co daje 100 losowych liczb.
Dodaj Data table, ustaw jej właściwość Items na RandomNumbers i wyświetl pole Wartość.
Trzymając naciśnięty klawisz Alt, wybierz przycisk przez kliknięcie lub dotknięcie.
W tabeli danych jest liczba losowa 1000 z liczb od 1 do 20:
Wybierz przycisk ponownie, aby wyświetlić inną listę liczb losowych:
Aby wygenerować pojedynczą liczbę losową zamiast tabeli, użyj Set( RandomNumber, Rand() ) lub Set( RandNumber, RandBetween( 1, 20 ) ).