Funkcijas Rand un RandBetween
Attiecas uz: Audekla programmām Darbvirsmas plūsmas Modeļa vadītas programmas Power Pages Power Platform CLI
Atgriež pseido-nejaušu skaitli.
Apraksts
Rand funkcija atgriež pseido-nejaušu skaitli, kas ir lielāks vai vienāds ar nulli un mazāks par 1. Piemēram, Rand() var atgriezt 0.43147 un 0, bet ne 1.
Kad RandBetween funkcija atgriež pseido-randomizētu veselo skaitli (vesels skaitlis bez cipariem aiz komata), kas ir starp diviem iekļautiem skaitļiem. Piemēram, RandBetween( 1,3 ) var atgriezt 1, 2 vai 3.
Gaistošas funkcijas
Rand un RandBetween ir gaistoša funkcija. Katru reizi, kad funkcija tiek novērtēta, tā atgriež citu vērtību.
Izmantojot datu plūsmas formulu, gaistošā funkcija atgriezīs citu vērtību tikai tad, ja formulu, kurā tā tiek parādīta, tiek novērtēta atkārtoti. Ja formulā nekas cits nemainās, tai būs tāda pati vērtība visā programmas izpildes laikā.
Piemēram, etiķetes vadīkla ar Label1.Text = Rand() nemainīsies, kamēr programma būs aktīva. Jauna vērtība radīsies, vienīgi aizverot un no jauna atverot programmu.
Šī funkcija tiks atkārtoti novērtēta, ja tā ir daļa no formulas, kurā ir mainījies kas cits. Piemēram, ja mēs mainām savu piemēru, lai tas ietvertu slīdņa vadīklu ar Label1.Text = Slider1.Value + Rand(), jauns nejaušs skaitlis tiek ģenerēts katru reizi mainot slīdņa vadīklas vērtību, un tiek pārvērtēts etiķetes teksta rekvizīts. Skatiet šo piemēru zemāk.
Izmantojot uzvedības formulā, Rand un RandBetween tiks novērtēta katru reizi, kad tiek novērtēta uzvedības formula. Skatiet šo piemēru zemāk.
Sintakse
Rands()
RandBetween(Apakša,Augšā )
- Apakšā - Nepieciešams. Mazākais veselais skaitlis, ko funkcija var atgriezt.
- Top - Obligāts. Lielākais veselais skaitlis, ko funkcija var atgriezt. Jābūt lielākai par vai vienādai ar Augšējā.
Piemēri
Pamata lietojums
Formula | Apraksts | Rezultāts |
---|---|---|
Rands() | Atgriež pseido-nejaušu skaitli, kas ir lielāks vai vienāds ar nulli un mazāks par 1. | Atšķiras atkarībā no katra novērtējuma, piemēram 0.874252. |
Rands() * 100 | Pamatojoties uz iepriekšējo piemēru, tiek izmantota kadrācija, lai paplašinātu diapazonu līdz lielākai vai vienādai ar 0 un mazākai par 100. | Atšķiras atkarībā no katra novērtējuma, piemēram 78.42521. |
Int( Rand() * 100 ) | Pamatojoties uz iepriekšējo piemēru, decimāldaļskaitļa noņemšanai tiek izmantota funkcija Int, kā rezultātā vesels skaitlis ir lielāks par vai vienāds ar 0 un mazāks par 100 | Atšķiras atkarībā no katra novērtējuma, piemēram 84. |
RandBetween( 0, 99 ) | Pamatojoties uz iepriekšējo piemēru, veic tādu pašu operāciju, izmantojot RandBetween funkciju | Atšķiras atkarībā no katra novērtējuma, piemēram 21. |
RandBetween( -1, 1 ) | Atgriež nejaušu kadrizācijas skaitli, kas ir no -1 līdz 1 iekļaujošam skaitlim: -1, 0 vai 1. | Atšķiras atkarībā no katra novērtējuma, piemēram -1. |
Rāda citu nejaušu skaitli, mainoties lietotāja ievadei ar Rand
Pievienojiet Slider vadīklu un pārdēvējiet to par Slider1, ja tai ir cits nosaukums.
Pievienojiet vadīklu Label un iestatiet tās rekvizītu Teksts uz šo formulu:
Slīdnis1.Vērtība + Rands()
Etiķetē ir redzams 50 (noklusējuma vērtība slīdnim), kā arī nejauša decimāldaļa:
Turot nospiestu Alt taustiņu, mainiet slīdņa vērtību.
Katru reizi, kad maināt slīdņa vērtību, etiķetes decimāldaļa rāda atšķirīgu nejaušu skaitli:
Nejaušu skaitļu tabulas izveide ar RandBetween
Pievienojiet vadīklu Button un iestatiet tās rekvizītu OnSelect uz tālāk norādīto formulu.
ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))
Šī formula izveido vienas kolonnas tabulu, kas tiek izmantota, lai atkārtotu 100 reižu, rezultējoties 100 nejaušos skaitļos.
Pievienojiet Data table, iestatiet tās rekvizītu Elementu kā RandomNumbers un parādiet lauku Vērtība.
Turot nospiestu Alttaustiņu, atlasiet pogu, noklikšķinot uz tās vai tai pieskaroties.
Datu tabulā ir parādīti 100 simti nejaušu skaitļu no 1 līdz 20:
Atlasiet vēlreiz pogu, lai rādītu atšķirīgu nejaušu skaitļu sarakstu:
Lai ģenerētu vienu nejaušu skaitli, nevis tabulu, izmantojiet Set( RandomNumber, Rand() ) vai Set( RandNumber, RandBetween( 1, 20 ) ).