Rand och RandBetween funktioner

Gäller: Arbetsyteappar Datorflöden Modellbaserade appar Power Platform CLI

Returnerar ett pseudoslumptal.

Beskrivning

Funktionen Rand returnerar ett pseudoslumptal som är större än eller lika med 0 och mindre än 1. Till exempel kan Rand() returnera 0.43147 och kan returnera 0 men inte 1.

Funktionen RandBetween returnerar ett slumpmässigt heltal (heltal utan decimaldel) som är mellan två tal, och ett decimaltal. Till exempel RandBetween( 1, 3 ) kan returnera 1, 2, or 3.

Ej beständiga funktioner

Rand och RandBetween är flyktiga funktioner. Varje gång funktionen utvärderas returneras ett annat värde.

När en ej beständig funktion används i en dataflödesformel returneras endast ett annat värde om formeln som den ingår i utvärderas på nytt. Om inget annat ändras i formeln har den samma värde under programmets körning.

En etikettkontroll med Label1.Text = Rand() ändras exempelvis inte medan programmet är aktiv. Ett nytt värde skapas endast om programmet stängs och öppnas igen.

Funktionen utvärderas på nytt om den är en del av en formel som något annat har ändrats i. Om vi exempelvis ändrar vårt exempel så att det involverar en slider-kontroll med Label1.Text = Slider1.Value + Rand() genereras ett nytt slumptal varje gång Slider-kontroll värde ändras och etikettens textegenskap utvärderas på nytt. Nedan visas ett exempel.

När den används i beteendeformel kommer Rand och RandBetween utvärderas varje gång beteendeformeln utvärderas. Nedan visas ett exempel.

Syntax

Rand()

RandBetween( Nederst, Överst )

  • Nederst – Obligatoriskt. Det minsta heltal som funktionen kan returnera.
  • Överst – Obligatoriskt. Det största heltal som funktionen kan returnera. Måste vara lika med eller större än Nederst.

Exempel

Grundläggande användning

Formel Beskrivning Resultat
Rand() Returnerar ett pseudo-slumpmässigt nummer större än eller lika med 0 och mindre än 1. Varierar med varje utvärdering, till exempel 0.874252.
Rand() * 100 I exemplet ovan används förökning för att utöka intervallet till ett större än eller lika med 0 och mindre än 100. Varierar med varje utvärdering, till exempel 78.42521.
Int( Rand() * 100 ) Bygger på det föregående exemplet och använder funktionen Int för att ta bort decimaldelen, vilket resulterar i ett heltal större än eller lika med 0 och mindre än 100 Varierar med varje utvärdering, till exempel 84.
RandBetween( 0, 99 ) Utifrån det föregående exemplet utför du samma åtgärd med hjälp av funktionen RandBetween Varierar med varje utvärdering, till exempel 21.
RandBetween( -1, 1 ) Returnerar ett pseudoslumptal som är mellan -1 och 1 inklusive: -1, 0, eller 1. Varierar med varje utvärdering, till exempel -1.

Visa ett annat slumptal när användarindata ändras med Rand

  1. Lägg till en Slider-kontroll och byt namn på den till Slider1 om den har ett annat namn.

  2. Lägg till kontrollen Label och ange egenskapen Text till följande formel:

    Slider1.Value + Rand()

    Etiketten visar 50 (standardvärdet för skjutreglaget) plus en slumpmässig decimal:

    En skärm som visar en label-kontroll med 50.741.

  3. Ändra skjutreglaget värde medan du håller ned Alt-knappen.

    Varje gång du ändrar skjutreglagets värde visar etikettens decimaldel ett annat slumptal:

    Fyra skärmar som visar en label-kontroll med fyra olika slumpmässiga decimalvärden för var och en av fyra olika reglageinställningar 70.899, 84.667, 90.134, 99.690.

Skapa en tabell med slumpmässiga tal med RandBetween

  1. Lägg till en Buttonkontroll och ställ in dess OnSelect-egenskap enligt följande formel:

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

    Den här formeln skapar en tabell med en kolumn som används för att iterera 100 gånger, vilket resulterar i 100 slumptal.

  2. Lägg till en Data table, ställ in dess egenskap ItemsRandomNumbers och visa fältet Värde.

    Datakälla urval av RandomNumbers-samlingen.

  3. Medan du håller ned Alt-tangenten markerar du knappen genom att klicka eller trycka på den.

    I datatabellen visas 100 hundra slumptal mellan 1 och 20:

    Datatabell med 100 hundra slumptal.

  4. Välj knappen igen om du vill visa en annan lista över slumptal:

    På samma skärm visas en datatabell med en ny uppsättning slumptal.

Om du vill skapa ett enskilt slumpmässigt tal i stället för en tabell använder du Set( RandomNumber, Rand() ) eller Set( RandNumber, RandBetween( 1, 20 ) ).