Funkcja Rand i RandBetween

Dotyczy: Aplikacje oparte na kanwie Przepływy pulpitu Aplikacje oparte na modelach Power Platform CLI

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 to funkcje niestabilne. 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( Bottom, Top )

  • Dolny — wymagane. Najmniejsza liczba całkowita, jaką może zwrócić funkcja.
  • Górny - 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.
RandBetween( 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

  1. Dodaj kontrolkę Slider i zmień jej nazwę na Slider1, jeśli ma inną nazwę.

  2. Dodaj kontrolkę Label i ustaw jej właściwość Text na następującą formułę:

    Slider1.Value + Rand()

    Etykieta zawiera liczbę 50 (wartość domyślną suwaka) i losową wartość dziesiętną:

    Ekran przedstawiający kontrolkę etykiety z liczbą 50,741.

  3. 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ą:

    Cztery ekrany przedstawiające kontrolkę etykiety z czterema różnymi losowymi wartościami dziesiętnymi dla każdego z czterech różnych ustawień suwaka: 70,899, 84,667, 90,134, 99,690.

Tworzenie tabeli liczb losowych przy użyciu funkcji RandBetween

  1. Dodaj kontrolkę Button i ustaw jej właściwość OnSelect na następującą formułę:

    ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))

    Ta formuła tworzy jednokolumnową tabelę, która jest używana do iteracji 100 razy, co daje 100 losowych liczb.

  2. Dodaj Data table, ustaw jej właściwość Items na RandomNumbers i wyświetl pole Wartość.

    źródło danych wyboru kolekcji RandomNumbers.

  3. 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:

    Tabela danych z 10000 losowymi liczbami.

  4. Wybierz przycisk ponownie, aby wyświetlić inną listę liczb losowych:

    Ten sam ekran zawiera tabelę danych z nowym zestawem liczb losowych.

Aby wygenerować pojedynczą liczbę losową zamiast tabeli, użyj Set( RandomNumber, Rand() ) lub Set( RandNumber, RandBetween( 1, 20 ) ).