Функции Rand и RandBetween
Отнася се за: Приложения за платно Потоци на работния плот Приложения, управлявани Power Pages Power Platform от модел CLI
Връща псевдослучайно число.
Описание
Функцията Rand връща псевдослучайно число, което е по-голямо или равно на 0 и по-малко от 1. Например Rand() може да върне 0,43147 и може да върне 0 но не 1.
Функцията RandBetween връща псевдослучайно цяло число (цяло число без десетична част), което е между две числа включително. Например RandBetween( 1, 3 ) може да върне 1, 2, или 3.
Нестабилни функции
Rand и RandBetween са променливи функции. Всеки път, когато функцията се оценява, тя връща различна стойност.
Когато се използва във формула на потока от данни, летливата функция ще върне различна стойност само ако формулата, в която се появява, е преоценена. Ако нищо друго не се промени във формулата, то тя ще има една и съща стойност по време на изпълнението на приложението ви.
Например контрол на етикета с Label1.Text = Rand() няма да се промени, докато приложението ви е активно. Само затварянето и повторното отваряне на приложението ще доведе до нова стойност.
Функцията ще бъде преоценена, ако е част от формула, в която се е променило нещо друго. Например, ако променим нашия пример, за да включваме плъзгащо управление с Label1.Text = Slider1.Value + Rand(), тогава ново произволно число се генерира всеки път, когато стойността на контрола на плъзгача се промени и текстовото свойство на етикета се преоцени. Вижте по-долу за този пример.
Когато се използва във формула на поведение, Rand и RandBetween ще бъдат оценявани всеки път когато се оценява формула за поведение. Вижте по-долу за а пример.
Синтаксис
Rand()
RandBetween ( отдолу, отгоре )
- Отдолу - Задължително. Най-малкото цяло число, което функцията може да върне.
- Най-горе - Задължително. Най-голямото цяло число, което функцията може да върне. Трябва да е равно или по-голямо от Bottom.
Примери
Основна употреба
Формула | Описание | Result |
---|---|---|
Rand() | Връща псевдослучайно число, което е по-голямо или равно на 0 и по-малко от 1. | Варира с всяка оценка, например 0,874252. |
Rand() * 100 | Надграждайки предишния пример, използва умножение, за да разшири диапазона до по-голямо или равно на 0 и по-малко от 100. | Варира с всяка оценка, например 78,42521. |
Int( Rand() * 100 ) | Надграждайки предишния пример, използва функцията Int за премахване на десетичната част, което води до цяло число, по-голямо или равно на 0 и по-малко от 100 | Варира с всяка оценка, например 84. |
RandBetween( 0, 99 ) | Надграждайки предишния пример, изпълнява същата операция с помощта на функцията RandBetween | Варира с всяка оценка, например 21. |
RandBetween( -1, 1 ) | Връща псевдослучайно число, което е между -1 и 1 включително: -1, 0 или 1. | Варира с всяка оценка, например -1. |
Показване на различно произволно число, когато потребителският вход се променя с Rand
Добавете Slider контрола и я преименувайте на Slider1, ако има различно име.
Добавете контрола Етикет с име Текст и задайте свойството й на тази формула:
Плъзгач1.Стойност + Rand()
Етикетът показва 50 (стойността по подразбиране за плъзгача) плюс произволен десетичен знак:
Докато държите клавиша Alt, променете стойността на плъзгача.
Всеки път, когато променяте стойността на плъзгача, десетичната част на етикета показва различно произволно число:
Създайте таблица на произволни числа с RandBetween
Добавете контрола Button и задайте свойството й OnSelect на тази формула:
ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))
Тази формула създава таблица с една колона, която се използва за повторение 100 пъти, което води до 100 произволни числа.
Добавете Таблица с данни, задайте елементи свойството на RandomNumbers, и покажете полето стойност.
Докато държите клавиша Alt натиснат, изберете бутона, като щракнете върху него или го докоснете.
Таблицата с данни показва 100 стотици случайни числа между 1 и 20:
Изберете бутона отново, за да се покаже различен списък с произволни числа:
За да генерирате единично произволно число вместо таблица, използвайте Set( RandomNumber, Rand() ) или Set( RandNumber, RandBetween( 1, 20 ) ).