Share via


Funksjonene Rand og RandBetween

Gjelder: Lerretsapper Skrivebordsflyt Modelldrevne apper Power Platform CLI

Returnerer et pseudotilfeldig tall.

Description

Rand-funksjonen returnerer et pseudotilfeldig tall som er større eller tilsvarende 0, og mindre enn 1. Rand() kan for eksempel returnere 0,43147 og kan returnere 0, men ikke 1.

RandBetween-funksjonen returnerer et pseudotilfeldig heltall (heltall uten desimaler) som er mellom to tall (som inkluderes). RandBetween( 1, 3 ) kan for eksempel returnere 1, 2 eller 3.

Flyktige funksjoner

Rand og RandBetween er flyktige funksjoner. Hver gang en av disse funksjonene evalueres, returnerer den en annen verdi.

En flyktig funksjon returnerer en annen verdi når den brukes i en formel for dataflyt, hvis formelen den viser, ser ut til å være evaluert på nytt. Hvis ingenting annet endres i formelen, vil den ha samme verdi i hele kjøringen av appen.

En etikett med Label1.Text = Rand() vil for eksempel ikke endres mens appen er aktiv. Å bare lukke og åpne appen vil resultere i en ny verdi.

Funksjonen vil evalueres på nytt hvis den er en del av en formel der noe annet er endret. Hvis vi for eksempel endrer eksemplet til å omfatte en glidebryter med Label1.Text = Slider1.Value + Rand(), blir et tilfeldig tall generert hver gang verdien for Slider-kontrollen endres og tekstegenskapen for etiketten evalueres på nytt. Nedenfor finner du et eksempel.

Når de brukes i en virkemåteformel, blir Rand og RandBetween evaluert hver gang virkemåteformelen evalueres. Nedenfor finner du et eksempel.

Syntaks

Rand()

RandBetween( Bunn, Topp )

  • Bunn – obligatorisk. Det minste heltallet som funksjonen kan returnere.
  • Topp – obligatorisk. Det største heltallet som funksjonen kan returnere. Må være likt eller større enn Bunn.

Eksempler

Grunnleggende bruk

Formel Bekrivelse Resultat
Rand() Returnerer et pseudotilfeldig tall som er større enn eller likt 0 og mindre enn 1. Varierer med hver evaluering, for eksempel 0,874252.
Rand() * 100 Bygger på forrige eksempel og bruker multiplikasjon til å utvide området til større enn eller likt 0 og mindre enn 100. Varierer med hver evaluering, for eksempel 78,42521.
Int( Rand() * 100 ) Bygger på forrige eksempel og bruker Int-funksjonen til å fjerne desimaldelen, slik at du får et heltall som er større enn eller likt 0 og mindre enn 100. Varierer med hver evaluering, for eksempel 84.
RandBetween( 0, 99 ) Bygger på forrige eksempel og utfører samme operasjon med RandBetween-funksjonen. Varierer med hver evaluering, for eksempel 21.
RandBetween( -1, 1 ) Returnerer et pseudotilfeldig tall mellom −1 og 1: −1, 0 eller 1. Varierer med hver evaluering, for eksempel −1.

Vis et annet tilfeldig tall når brukerinndata endres med Rand

  1. Legg til en Slider-kontroll, og gi den det nye navnet Slider1 hvis den har et annet navn.

  2. Legg til en Label-kontroll, og angi Text-egenskapen til denne formelen:

    Slider1.Value + Rand()

    Etiketten viser 50 (standardverdien for glidebryteren) pluss et tilfeldig desimal:

    En skjerm som viser en etikett med 50.741.

  3. Du kan endre verdien av glidebryteren mens du holder nede ALT.

    Desimaldelen av etiketten viser et nytt tilfeldig tall hver gang du endrer verdien for glidebryteren:

    Fire skjermer som viser en etikett med fire forskjellige, tilfeldige desimalverdier for hver av fire forskjellige innstillinger for glidebryteren 70.899, 84.667, 90.134, 99.690.

Opprette en tabell med tilfeldige tall med RandBetween

  1. Legg til en Button-kontroll, og sett OnSelect-egenskapen til denne formelen:

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

    Denne formelen oppretter én kolonnetabell som brukes til å oppdatere 100 ganger, noe som resulterer i 100 tilfeldige tall.

  2. Legg til en Data table, sett Items-egenskapen til RandomNumbers, og vis deretter Verdi-feltet.

    Valg av datakilde fra RandomNumbers-samlingen.

  3. Velg knappen ved å klikke eller trykke på den mens du holder nede ALT-tasten.

    Datatabellen viser 100 tilfeldige tall mellom 1 og 20:

    Datatabell med 100 tilfeldige tall.

  4. Velg knappen på nytt for å vise en annen liste med tilfeldige tall:

    Den samme skjermen der det vises en datatabell med et nytt sett med tilfeldige tall.

Hvis du vil generere ett tilfeldig tall i stedet for en tabell, bruker du Set( RandomNumber, Rand() ) eller Set( RandNumber, RandBetween( 1, 20 ) ).