Funzioni Rand e RandBetween

Si applica a: app canvas flussi desktop app basate su modello Power Platform CLI

Restituisce un numero pseudocasuale.

Descrizione

La funzione Rand restituisce un numero pseudocasuale maggiore o uguale a 0 e minore di 1. Per esempio, Rand() può restituire 0,43147 e potrebbe restituire 0 ma non 1.

La funzione RandBetween restituisce un intero pseudo-casuale (numero intero senza parte decimale) compreso tra due numeri inclusi. Per esempio, RandBetween( 1, 3 ) può restituire return 1, 2, o 3.

Funzioni volatili

Rand e RandBetween sono funzioni volatili. Ogni volta che viene valutata, questa funzione restituisce un valore diverso.

Quando viene usata in una formula di flusso di dati, una funzione volatile restituisce un valore diverso solo se viene rivalutata la formula in cui è presente. Se nella formula non viene modificato nessun altro elemento, avrà lo stesso valore in tutta l'esecuzione dell'app.

Ad esempio, un controllo etichetta con Label1.Text = Rand() non cambierà mentre l'app è attiva. Solo chiudendo e riaprendo l'app verrà generato un nuovo valore.

La funzione viene rivalutata se fa parte di una formula in cui è stato modificato un altro elemento. Si supponga di voler modificare questo esempio in modo che includa un controllo slider con Label1.Text = Slider1.Value + Rand(). In questo caso il nuovo numero casuale viene generato ogni volta che viene modificato il valore del controllo Slider e viene rivalutata la proprietà Text dell'etichetta. Per questo esempio, vedere di seguito.

Se usate in una formula di comportamento, Rand e RandBetween vengono valutate ogni volta che viene valutata la formula di comportamento. Per un esempio, vedere di seguito.

Sintassi

Rand()

RandBetween( Bottom, Top )

  • Bottom: obbligatorio. Numero intero più piccolo che può essere restituito dalla funzione.
  • Top: obbligatorio. Numero intero più grande che può essere restituito dalla funzione. Deve essere uguale o maggiore di Bottom.

Esempi

Utilizzo di base

Formula Descrizione Risultato
Rand() Restituisce un numero pseudo-casuale superiore o uguale a 0 e minore di 1. Varia con ogni valutazione, per esempio 0,874252.
Rand() * 100 Basandosi sull'esempio precedente, usa la moltiplicazione per estendere l'intervallo a maggiore o uguale a 0 e minore di 100. Varia con ogni valutazione, per esempio 78,42521.
Int( Rand() * 100 ) Basandosi sull'esempio precedente, utilizza la funzione Int per rimuovere la parte decimale, restituendo in un intero maggiore o uguale a 0 e minore di 100 Varia con ogni valutazione, per esempio 84.
RandBetween( 0, 99 ) Basandosi sull'esempio precedente, esegue la stessa operazione della funzione RandBetween Varia con ogni valutazione, per esempio 21.
RandBetween( -1, 1 ) Restituisce un numero pseudo-casuale compreso tra -1 e 1 inclusi: -1, 0, o 1. Varia con ogni valutazione, per esempio -1.

Visualizzare un numero casuale diverso quando l'input utente cambia con Rand

  1. Aggiungere un controllo Slider e rinominarlo Slider1 se ha un nome diverso.

  2. Aggiungi un controllo Label e impostane la proprietà Text sulla formula seguente:

    Slider1.Value + Rand()

    L'etichetta indica 50 (il valore predefinito per il dispositivo di scorrimento) più un decimale casuale:

    Schermata di visualizzazione di un controllo label con 50,741.

  3. Tenere premuto ALT per modificare il valore del dispositivo di scorrimento.

    Ogni volta che si modifica il valore del dispositivo di scorrimento, la parte decimale dell'etichetta indica un numero casuale diverso:

    Quattro schermate che visualizzano un controllo label con quattro valori decimali casuali diversi per ognuna delle quattro diverse impostazioni del dispositivo di scorrimento 70,899, 84,667, 90,134, 99,690.

Creare una tabella di numeri casuali con RandBetween

  1. Aggiungi un controllo Button e impostane la proprietà OnSelect sulla formula seguente:

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

    Questa formula crea una tabella a colonna singola che consente di eseguire l'iterazione 100 volte, ottenendo 100 numeri casuali.

  2. Aggiungere una Data table, impostare la relativa proprietà Items su RandomNumbers e visualizzare il campo Valore.

    Selezione dell'origine dati della raccolta RandomNumbers.

  3. Tieni premuto Alt e seleziona il pulsante facendo clic o toccandolo.

    La tabella dei dati mostra 100 numeri casuali compresi tra 1 e 20:

    Tabella dati con 100 numeri casuali.

  4. Seleziona nuovamente il pulsante per visualizzare un elenco diverso di numeri casuali:

    La stessa schermata che mostra una tabella di dati con una nuova serie di numeri casuali.

Per generare un singolo numero casuale invece di una tabella, utilizza Set( RandomNumber, Rand() ) o Set( RandNumber, RandBetween( 1, 20 ) ).