Comparteix via


Rand i RandBetween funcions

S'aplica a: Aplicacions de llenç Copilot Studio Fluxos d'escriptori Aplicacions basades en models CLI del Power Platform Funcions del Dataverse Power Pages

Retorna un número pseudo-aleatori.

Descripció

La Rand funció retorna un nombre pseudoaleatori que és major o igual a 0 i menor que 1. Per exemple, Rand() podria retornar 0,43147 i podria retornar 0 però no 1.

La RandBetween funció retorna un enter pseudoaleatori (nombre enter sense porció decimal) que es troba entre dos nombres, inclosos. Per exemple, RandBetween( 1, 3 ) pot retornar 1, 2 o 3.

Funcions volàtils

Rand i RandBetween són volàtils. Cada vegada que s'avalua la funció, torna un valor diferent.

Quan s'utilitza en una fórmula de flux de dades, una funció volàtil només retornarà un valor diferent si la fórmula en què apareix es torna a avaluar. Si no es canvia res més a la fórmula, tindrà el mateix valor durant l'execució de l'aplicació.

Per exemple, un control d'etiqueta amb Label1.Text = Rand() no canviarà mentre l'aplicació estigui activa. Només s'obtindrà un valor nou si es tanca l'aplicació i es torna a obrir.

La funció es tornarà a avalua si forma part d'una fórmula on s'ha canviat una altra cosa. Per exemple, si canviem el nostre exemple per incloure un control lliscant amb Label1.Text = Slider1.Value + Rand(), es genera un nou nombre aleatori cada vegada que canvia el valor del control Slider i es torna a avaluar la propietat text de l'etiqueta. Vegeu-ne l'exemple a continuació.

Quan s'utilitza en una fórmula de comportament, Rand i RandBetween s'avaluarà cada vegada que s'avaluï la fórmula de comportament. Vegeu-ne un exemple a continuació.

Sintaxi

Rand()

RandBetween( A baix, a dalt )

  • Inferior : obligatori. L'enter més petit que la funció pot retornar.
  • A dalt : obligatori. L'enter més gran que la funció pot retornar. Ha de ser igual o major que Inferior.

Exemples

Ús bàsic

Fórmula Descripció Resultat
Rand() Retorna un nombre pseudoaleatori més gran o igual que 0 i més petit que 1. Varia amb cada avaluació, per exemple 0,874252.
Rand() * 100 A l'exemple anterior, s'utilitza la multiplicació per ampliar l'interval a més o igual a 0 i menys que 100. Varia amb cada avaluació, per exemple 78,42521.
Int( Rand() * 100 ) En l'exemple anterior, s'utilitza la funció Int per eliminar la part decimal, resultant en un enter superior o igual que 0 i inferior a 100 Varia amb cada avaluació, per exemple 84.
RandBetween( 0, 99 ) Basant-se en l'exemple anterior, realitza la mateixa operació utilitzant la RandBetween funció Varia amb cada avaluació, per exemple 21.
RandBetween( -1, 1 ) Retorna un nombre pseudoaleatori situat entre -1 i 1, inclosos: -1, 0 o 1. Varia amb cada avaluació, per exemple -1.

Mostra un nombre aleatori diferent a mesura que canvia l'entrada de l'usuari amb Rand

  1. Afegiu un Control lliscant i canvieu-ne el nom per Slider1 si té un nom diferent.

  2. Afegiu un control Etiqueta i definiu-ne la propietat Text en aquesta fórmula:

    Control lliscant1.Valor + Rand()

    L'etiqueta mostra 50 (el valor per defecte del control lliscant) més un decimal aleatori:

    Pantalla en què es visualitza un control d'etiqueta amb 50,741

  3. Mentre manteniu premuda la tecla Alt, canvieu el valor del control lliscant.

    Cada vegada que canvieu el valor del control lliscant, la part decimal de l'etiqueta mostra un número aleatori diferent:

    Quatre pantalles que mostren un control d'etiqueta amb quatre valors decimals diferents per a cadascuna de les quatre configuracions del control lliscant: 70,899, 84,667, 90,134 i 99,690

Crear una taula de nombres aleatoris amb RandBetween

  1. Afegiu un control Button i definiu-ne la propietat OnSelect a aquesta fórmula:

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

    Aquesta fórmula crea una taula d'una sola columna que s'utilitza per iterar 100 vegades i que resulta en 100 números aleatoris.

  2. Afegiu un control Taula de dades, definiu-ne la propietat Items com a RandomNumbers i mostreu el camp Valor.

    Selecció de la font de dades de la col·lecció RandomNumbers.

  3. Mentre manteniu premuda la tecla Alt, seleccioneu el botó fent-hi clic o tocant-lo.

    La taula de dades mostra 100 (cent) nombres aleatoris entre 1 i 20:

    Taula de dades amb 100 cents números aleatoris.

  4. Torneu a seleccionar el botó per mostrar una llista diferent de números aleatoris:

    La mateixa pantalla que mostra una taula de dades amb un nou conjunt de números aleatoris.

Per generar un únic nombre aleatori en lloc d'una taula, utilitzeu Set( RandomNumber, Rand() ) oSet( RandNumber, RandBetween( 1, 20 ) ).