Funkcie Rand a RandBetween
Vzťahuje sa na: Aplikácie plátna Postupy v počítačovom prostredí Modelom riadené aplikácie Power Platform CLI
Vráti pseudonáhodné číslo.
Description
Funkcia Rand vráti pseudonáhodné číslo väčšie alebo rovné 0, ale menšie ako 1. Napríklad Rand() môže vrátiť 0,43147 a môže vrátiť 0 ale nie 1.
Funkcia RandBetween vracia pseudonáhodné celé číslo (celé číslo bez desatinnej časti), ktoré je medzi dvoma číslami vrátane. Napríklad RandBetween( 1, 3 ) môže vrátiť 1, 2 alebo 3.
Nestále funkcie
Rand a RandBetween sú volatilné funkcie. Pri každom vyhodnotení vracia táto funkcia inú hodnotu.
Ak sa nestála funkcia použije vo vzorci toku údajov, vráti v rámci vzorca odlišnú hodnotu len vtedy, keď sa daný vzorec nanovo vyhodnotí. Ak sa vo vzorci nič iné nezmení, bude mať rovnakú hodnotu počas celého spracovania v aplikácii.
Ovládací prvok označenia s hodnotou Label1.Text = Rand() sa napríklad nezmení, kým je aplikácia spustená. Nová hodnota sa zobrazí až po zavretí a opätovnom otvorení aplikácie.
Funkcia sa nanovo vyhodnotí, ak je súčasťou vzorca, v ktorom sa zmenila aj nejaká iná hodnota. Ak by sme povedzme zmenili náš príklad tak, aby zahŕňal ovládací prvok jazdca s hodnotou Label1.Text = Slider1.Value + Rand(), potom sa nové náhodné číslo vygeneruje vždy, keď sa zmení hodnota ovládacieho prvku jazdca a vlastnosť textu označenia sa nanovo vyhodnotí. Pozrite si tento príklad nižšie.
Pri použití vo vzorci správania sa funkcia Rand a RandBetween vyhodnocuje pri každom vyhodnotení vzorca správania. Pozrite si príklad nižšie.
Syntax
Rand()
RandBetween( Bottom, Top )
- Bottom – povinné. Najmenšie celé číslo, ktoré môže funkcia vrátiť.
- Top – povinné. Najväčšie celé číslo, ktoré môže funkcia vrátiť. Hodnota musí byť väčšia alebo rovná Bottom.
Príklady
Základné použitie
Vzorec | Description | Result |
---|---|---|
Rand() | Vráti pseudonáhodné číslo väčšie alebo rovné 0, ale menšie ako 1. | Líši sa pri každom vyhodnotení, napríklad 0,874252. |
Rand() * 100 | Na základe predchádzajúceho príkladu používa násobenie na rozšírenie rozsahu na hodnotu väčšiu alebo rovnú 0 a nižšiu ako 100. | Líši sa pri každom vyhodnotení, napríklad 78,42521. |
Int( Rand() * 100 ) | Na základe predchádzajúceho príkladu používa funkciu Int na odstránenie desatinnej časti, výsledkom čoho je celé číslo väčšie alebo rovné 0 a menšie ako 100 | Líši sa pri každom vyhodnotení, napríklad 84. |
RandBetween( 0, 99 ) | Na základe predchádzajúceho príkladu vykoná rovnakú operáciu pomocou funkcie RandBetween | Líši sa pri každom vyhodnotení, napríklad 21. |
RandBetween( -1, 1 ) | Vráti pseudonáhodné číslo, ktoré je medzi -1 a 1 vrátane: -1, 0 alebo 1. | Líši sa pri každom vyhodnotení, napríklad -1. |
Zobrazenie iného náhodného čísla vždy, keď sa zmení vstup zadaný používateľom pomocou Rand
Pridajte ovládací prvok Jazdec a ak má iný názov, premenujte ho na hodnotu Slider1.
Pridajte ovládací prvok Označenie a jeho vlastnosť Text nastavte na tento vzorec:
Slider1.Value + Rand()
Označenie zobrazuje číslo 50 (predvolená hodnota jazdca) a náhodné desatinné číslo:
Podržte stlačený kláves Alt a zmeňte hodnotu jazdca.
Vždy, keď zmeníte hodnotu jazdca, časť označenia za desatinnou čiarkou zobrazí iné náhodné číslo:
Vytvorenie tabuľky náhodných čísel pomocou RandBetween
Pridajte ovládací prvok Button a nastavte jeho vlastnosť OnSelect na tento vzorec:
ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))
Tento vzorec vytvorí tabuľku s jedným stĺpcom, ktorý sa použije na 100-násobnú iteráciu, výsledkom čoho bude 100 náhodných čísel.
Pridajte Tabuľku údajov, nastavte jej vlastnosť Items na hodnotu RandomNumbers a zobrazte pole Hodnota.
Podržte stlačený kláves Alt a kliknutím alebo ťuknutím vyberte tlačidlo.
Tabuľka s údajmi zobrazuje 100 náhodných čísel medzi 1 a 20:
Ak chcete zobraziť iný zoznam náhodných čísel, znova vyberte tlačidlo:
Ak chcete namiesto celej tabuľky vygenerovať len jedno náhodné číslo, použite vzorec Set( RandomNumber, Rand() ) alebo Set( RandNumber, RandBetween( 1, 20 ) ).