Comparteix a través de


Funcions Rand i RandBetween

S'aplica a: Aplicacions de llenç Fluxos d'escriptori CLI d'aplicacions Power Pages Power Platform basades en models

Retorna un número pseudo-aleatori.

Descripció

La funció Rand retorna un número pseudo-aleatori que és major o igual que 0 i inferior a 1. Per exemple, Rand() podria tornar 0,43147 i podria tornar 0, però no 1.

La funció RandBetween 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 funcions 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 l'exemple per implicar un control lliscant amb Label1.Text = Slider1.Value + Rand(),, es genera un nou número aleatori cada vegada que el valor del control lliscant canvia i es torna a avaluar la propietat de text de l'etiqueta. Vegeu-ne l'exemple a continuació.

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

Sintaxi

Rand()

RandBetween ( inferior, superior )

  • 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.
RandEntre( 0, 99 ) En l'exemple anterior, es realitza la mateixa operació amb la funció RandBetween. Varia amb cada avaluació, per exemple 21.
RandEntre( -1, 1 ) Retorna un nombre pseudoaleatori situat entre -1 i 1, inclosos: -1, 0 o 1. Varia amb cada avaluació, per exemple -1.

Visualitzar un número aleatori diferent amb els canvis d'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:

    Valor lliscant 1 + 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 sol nombre aleatori en comptes d'una taula, utilitzeu Set( RandomNumber, Rand() ) o Set ( RandNumber, RandBetween( 1, 20 ) ).