Partilhar via


Rand e RandBetween funções

Aplica-se a: Aplicativos de tela Copilot Studio Fluxos de ambiente de trabalho Aplicações orientadas por modelos Funções do Power Platform CLI Dataverse Power Pages

Devolve um número pseudoaleatório.

Descrição

A Rand função retorna um número pseudoaleató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 pseudoaleató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 função volátil. Sempre que a função é avaliada, devolve um valor diferente.

Quando for utilizada numa fórmula de fluxos de dados, uma função volátil só irá devolver um valor diferente se a fórmula em que aparece for reavaliada. Se nada mais for alterado na fórmula, esta terá o mesmo valor durante a execução da sua aplicação.

Por exemplo, um controle de rótulo com Label1.Text = Rand() não será alterado enquanto seu aplicativo estiver ativo. Só resultará num novo valor se fechar e voltar a abrir a aplicação.

A função será reavaliada se fizer parte de uma fórmula em que algo foi 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 Slider for alterado e a propriedade text do rótulo for reavaliada. Veja este exemplo abaixo.

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

Sintaxe

Rand()

RandBetween( Abaixo, Topo )

  • Inferior - Obrigatório. O menor número inteiro que a função pode devolver.
  • Top - Obrigatório. O maior número inteiro que a função pode devolver. Tem de ser maior ou igual a Bottom.

Exemplos

Utilização básica

Fórmula Descrição Resultado
Rand() Devolve um número pseudoaleatório que é maior ou igual a 0 e menor do que 1. Varia em cada avaliação, por exemplo, a 0,874252.
Rand() * 100 Com base no exemplo anterior, utiliza a multiplicação para expandir o intervalo para um valor maior ou igual a 0 e menor do que 100. Varia em cada avaliação, por exemplo, a 78,42521.
Int( Rand() * 100 ) Com base no exemplo anterior, utiliza a função Int para remover a porção decimal, resultando num número inteiro maior que ou igual a 0 e menor do que 100 Varia em cada avaliação, por exemplo, a 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, a 21.
RandBetween( -1, 1 ) Devolve um número pseudoaleatório que está entre -1 e 1, incluindo: -1, 0 ou 1. Varia em cada avaliação, por exemplo, a -1.

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

  1. Adicione um controlo Slider e mude o respetivo nome para Slider1, se este tiver um nome diferente.

  2. Adicione um controlo Label e defina a respetiva propriedade Text para esta fórmula:

    Slider1.Value + Rand()

    A etiqueta mostra 50 (o valor predefinido para o Controlo de Deslize) e um número decimal aleatório:

    Um ecrã a mostrar um controlo de etiqueta com 50,741.

  3. Mantenha a tecla Alt premida e altere o valor do Controlo de Deslize.

    Sempre que alterar o valor do Controlo de Deslize, a porção decimal da etiqueta mostrará um número aleatório diferente:

    Quatro ecrãs a mostrar um controlo de etiqueta com quatro valores decimais aleatórios diferentes para cada uma das quatro definições de Controlo de Deslize: 70,899; 84,667; 90,134; 99,690.

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

  1. Adicione um controlo Button e defina a respetiva propriedade OnSelect para esta fórmula:

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

    Esta fórmula cria uma tabela com uma única coluna que é utilizada para iterar 100 vezes, o que resulta em 100 números aleatórios.

  2. Adicione um controlo Data table, defina a respetiva propriedade Items para RandomNumbers e mostre o campo Value.

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

  3. Mantenha a tecla Alt premida e selecione o botão ao clique ou toque no mesmo.

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

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

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

    O mesmo ecrã que mostra 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 ) ).