Compartilhar via


Rand e RandBetween funções

Aplica-se a: Aplicativos de tela Copilot Studio Desktop flui aplicativos baseados em modelo CLI CLI Dataverse funções Power Pages

Retorna um número pseudoaleatório.

Descrição

A Rand função retorna um número pseudo-aleatório maior ou igual a 0 e menor que 1. Por exemplo, Rand() pode retornar 0,43147 e pode retornar 0 , mas não 1.

A RandBetween função retorna um inteiro pseudo-aleatório (número inteiro sem parte decimal) que está entre dois números, inclusive. Por exemplo, RandBetween( 1, 3 ) pode retornar 1, 2 ou 3.

Funções voláteis

Rand e RandBetween são uma função volátil. Cada vez que a função é avaliada, ela retorna um valor diferente.

Quando usada em uma fórmula de fluxo de dados, uma função volátil retornará um valor diferente apenas se a fórmula em que ela aparece for reavaliada. Se nada mais mudar na fórmula, ela terá o mesmo valor durante a execução do aplicativo.

Por exemplo, um controle de rótulo com Label1.Text = Rand() não será alterado enquanto seu aplicativo estiver ativo. Somente fechar e abrir o aplicativo novamente resultará em um novo valor.

A função será reavaliada se fizer parte de uma fórmula em que algo tenha sido alterado. Por exemplo, se alterarmos nosso exemplo para envolver um controle deslizante com Label1.Text = Slider1.Value + Rand(), um novo número aleatório será gerado sempre que o valor do controle deslizante for alterado e a propriedade de texto do rótulo for reavaliada. Veja esse exemplo abaixo.

Quando usado em uma fórmula de comportamento, Rand e RandBetween será avaliado sempre que a fórmula de comportamento for avaliada. Veja um exemplo abaixo.

Sintaxe

Rand()

RandBetween( Inferior, Superior )

  • Inferior - Obrigatório. O menor número inteiro que a função pode retornar.
  • Topo - Obrigatório. O maior número inteiro que a função pode retornar. Deve ser igual ou superior a Bottom.

Exemplos

Uso básico

Fórmula Descrição Result
Rand() Retorna um número pseudoaleatório maior ou igual a 0, mas menor do que 1. Varia em cada avaliação, por exemplo, 0,874252.
Rand() * 100 Com base no exemplo anterior, usa a multiplicação para estender o intervalo para maior ou igual a 0 e menor do que 100. Varia em cada avaliação, por exemplo, 78,42521.
Int( Rand() * 100 ) Com base no exemplo anterior, usa a função Int para remover a parte decimal, resultando em um inteiro maior ou igual a 0 e menor do que 100 Varia em cada avaliação, por exemplo, 84.
RandBetween( 0, 99 ) Com base no exemplo anterior, executa a mesma operação usando a RandBetween função Varia em cada avaliação, por exemplo, 21.
RandBetween( -1, 1 ) Retorna um número pseudoaleatório entre -1 e 1 inclusive: -1, 0 ou 1. Varia em cada avaliação, por exemplo, -1.

Exibir um número aleatório diferente conforme a entrada do usuário muda com Rand

  1. Adicione um controle Slider e renomeie-o como Slider1 se ele tiver um nome diferente.

  2. Adicione um controle Label e defina sua propriedade Text com esta fórmula:

    Slider1.Value + Rand()

    O rótulo mostrará 50 (o valor padrão do controle deslizante) e um decimal aleatório:

    Uma tela exibindo um controle de rótulo com 50.741.

  3. Mantenha a tecla Alt pressionada e altere o valor do controle deslizante.

    Sempre que você alterar o valor do controle deslizante, a parte decimal do rótulo mostrará um número aleatório diferente:

    Quatro telas exibindo um controle de rótulo com quatro valores decimais aleatórios diferentes para todos as quatro configurações diferentes de controle deslizante: 70,899; 84,667; 90,134 e 99,690.

Criar uma tabela de números aleatórios com RandBetween

  1. Adicione um controle Button e defina sua propriedade OnSelect para esta fórmula:

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

    Essa fórmula cria uma tabela de coluna única usada para iterar 100 vezes, resultando em 100 números aleatórios.

  2. Adicione uma Data table, defina sua propriedade Items como RandomNumbers e exiba o campo Value.

    Seleção de fonte de dados da coleção RandomNumbers.

  3. Mantendo a tecla Alt pressionada, selecione o botão clicando ou tocando nele.

    A tabela de dados mostra 100 centenas de números aleatórios entre 1 e 20:

    Tabela de dados com 100 centenas de números aleatórios.

  4. Selecione o botão novamente para mostrar uma lista diferente de números aleatórios:

    A mesma tela mostrando uma tabela de dados com um novo conjunto de números aleatórios.

Para gerar um único número aleatório em vez de uma tabela, use Set( RandomNumber, Rand() ) ou Set( RandNumber, RandBetween( 1, 20 ) ).