De functies Rand en RandBetween

Van toepassing op: Canvas-apps Bureaubladstromen Modelgestuurde apps Power Platform CLI

Deze functie retourneert een pseudo-willekeurig getal.

Omschrijving

De functie Rand retourneert een pseudo-willekeurig getal dat groter is dan of gelijk is aan 0 en kleiner dan 1. Zo retourneert Rand() mogelijk 0,43147 en 0, maar niet 1.

De functie RandBetween retourneert een pseudo-willekeurig geheel getal (geheel getal zonder decimaal gedeelte) dat tussen twee getallen ligt, waarbij het tweede getal is inbegrepen. Zo retourneert bijvoorbeeld RandBetween( 1, 3 ) mogelijk 1, 2 of 3.

Vluchtige functies

Rand en RandBetween zijn vluchtige functie. Telkens wanneer de functie wordt geëvalueerd, wordt een andere waarde geretourneerd.

Wanneer een vluchtige functie in een gegevensstroomformule wordt gebruikt, retourneert deze alleen een andere waarde als de formule waarin deze wordt weergegeven, opnieuw wordt geëvalueerd. Als er niets anders verandert in de formule, heeft deze dezelfde waarde gedurende de uitvoering van uw app.

Zo wordt een besturingselement Label met Label1.Text = Rand() bijvoorbeeld niet gewijzigd wanneer uw app actief is. Alleen het sluiten en opnieuw openen van de app resulteert in een nieuwe waarde.

De functie wordt opnieuw geëvalueerd als deze deel uitmaakt van een formule waarin iets anders is gewijzigd. Als we ons voorbeeld veranderen en bijvoorbeeld een besturingselement van het type schuifregelaar gebruiken met Label1.Text = Slider1.Value + Rand(), wordt een nieuw willekeurig nummer gegenereerd telkens wanneer de waarde van het besturingselement Slider verandert en de teksteigenschap van het label opnieuw wordt geëvalueerd. Hieronder vindt u dit voorbeeld.

Wanneer vluchtige functies worden gebruikt in een gedragsformule, worden Rand en RandBetween telkens geëvalueerd wanneer de gedragsformule wordt geëvalueerd. Hieronder vindt u een voorbeeld.

Syntaxis

Rand()

RandBetween( Bottom, Top )

  • Bottom: vereist. Het kleinste geheel getal dat de functie kan retourneren.
  • Top: vereist. Het grootste geheel getal dat de functie kan retourneren. Moet gelijk zijn aan of groter zijn dan Onder.

Voorbeelden

Basisgebruik

Formule Beschrijving Result
Rand() Hiermee wordt een pseudo-willekeurig getal geretourneerd dat groter is dan of gelijk is aan 0 en kleiner is dan 1. Varieert per evaluatie, bijvoorbeeld 0,874252.
Rand() * 100 Voortbouwend op het vorige voorbeeld, wordt vermenigvuldiging gebruikt om het bereik uit te breiden naar groter dan of gelijk aan 0 en kleiner dan 100. Varieert per evaluatie, bijvoorbeeld 78,42521.
Int( Rand() * 100 ) Voortbouwend op het vorige voorbeeld, wordt de functie Int gebruikt om het decimale deel te verwijderen, wat resulteert in een geheel getal groter dan of gelijk aan 0 en kleiner dan 100 Varieert per evaluatie, bijvoorbeeld 84.
RandBetween( 0, 99 ) Voortbouwend op het vorige voorbeeld, voert u dezelfde bewerking uit met de functie RandBetween Varieert per evaluatie, bijvoorbeeld 21.
RandBetween( -1, 1 ) Retourneert een pseudo-willekeurig getal tussen -1 en 1, waarbij 1 is inbegrepen: -1, 0 of 1. Varieert per evaluatie, bijvoorbeeld -1.

Een ander willekeurig getal weergeven wanneer gebruikersinvoer wijzigt met Rand

  1. Voeg een besturingselement Slider toe en geef dit de naam Slider1 als het een andere naam heeft.

  2. Voeg een besturingselement van het type Label toe en stel de eigenschap Text in op deze formule:

    Slider1.Value + Rand()

    Het label geeft 50 weer (de standaardwaarde voor de schuifregelaar) plus een willekeurige decimaal:

    Een scherm dat een labelbesturingselement met 50.741 weergeeft.

  3. Wijzig de waarde van de schuifregelaar terwijl u de Alt-toets ingedrukt houdt.

    Telkens wanneer u de waarde van de schuifregelaar wijzigt, geeft het decimale gedeelte van het label een ander willekeurig getal weer:

    Vier schermen waarop een besturingselement Label wordt weergegeven met vier verschillende willekeurige decimale waarden voor elk van de vier verschillende schuifregelaarinstellingen 70.899, 84.667, 90.134, 99.690.

Een tabel met willekeurige getallen maken met RandBetween

  1. Voeg een besturingselement Button toe en stel de eigenschap OnSelect hiervan in op deze formule:

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

    Deze formule maakt een tabel met één kolom die wordt gebruikt om 100 keer te worden herhaald, wat resulteert in 100 willekeurige getallen.

  2. Voeg een Data table toe, stel de eigenschap Items hiervan in op RandomNumbers en geef het veld Value weer.

    Gegevensbronselectie van de collectie RandomNumbers.

  3. Houd de Alt-toets ingedrukt en selecteer de knop door erop te klikken of te tikken.

    De gegevenstabel toont 100 honderd willekeurige getallen tussen 1 en 20:

    Gegevenstabel met 100 honderd willekeurige getallen.

  4. Selecteer de knop opnieuw om een andere lijst met willekeurige getallen weer te geven:

    Hetzelfde scherm met een gegevenstabel met een nieuwe reeks willekeurige getallen.

Als u een enkel willekeurig getal wilt genereren in plaats van een tabel, gebruikt u Set( RandomNumber, Rand() ) orf Set( RandNumber, RandBetween( 1, 20 ) ).