Rand och RandBetween funktioner
Gäller för: Arbetsyteappar
Datorflöden
Modellbaserade appar
Power Pages
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 )
- Botten - Obligatoriskt. Det minsta heltal som funktionen kan returnera.
- Topp - 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
Lägg till en Slider-kontroll och byt namn på den till Slider1 om den har ett annat namn.
Lägg till kontrollen Label och ange egenskapen Text till följande formel:
Reglage1.Värde + Rand()
Etiketten visar 50 (standardvärdet för skjutreglaget) plus en slumpmässig decimal:
Ä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:
Skapa en tabell med slumpmässiga tal med RandBetween
Lägg till en Buttonkontroll och ställ in dess OnSelect-egenskap enligt följande formel:
ClearCollect ( RandomNumbers, ForAll ( Sekvens ( 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.
Lägg till en Data table, ställ in dess egenskap Items på RandomNumbers och visa fältet Värde.
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:
Välj knappen igen om du vill visa en annan lista över 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 ) ).