Rand 和 RandBetween 函式

適用於: 畫布應用程式 桌面流程 模型導向應用程式 Power Platform CLI

傳回虛擬亂數。

Description

Rand 函式會傳回大於或等於 0 且小於 1 的虛擬亂數。 例如,Rand() 可能會傳回 0.43147,並且可能傳回 0 而不是 1

RandBetween 函式會傳回介於兩個數之間的虛擬隨機整數 (不含小數位部分的整數)。 例如,RandBetween( 1, 3 ) 可能會傳回 123

動態函式

RandRandBetween 是動態函式。 每次評估函式時,都會傳回不同的值。

在資料流公式中使用時,動態函式只會傳回重新評估出現公式時傳回不同的值。 如果公式中沒有其他變更,會在您應用程式執行過程中具有相同的值。

例如,具有 Label1.Text = Rand() 的標籤控制項在應用程式為使用中時不會變更。 只有關閉並重新開啟應用程式才會產生新的值。

如果函式是其他公式項目已變更的部分,將會重新評估。 比方說,如果我們變更範例,以包含具有 Label1.Text = Slider1.Value + Rand() 的 slider 控制項,則每次 Slider 控制項的值變更時都會產生新的亂數,且會重新評估標籤的文字屬性。 如需此範例,請參閱下方內容。

當用於行為公式時,RandRandBetween 將在每次評估行為公式時進行評估。 如需範例,請參閱下方內容。

語法

Rand()

RandBetween( Bottom, Top )

  • Bottom - 必要項目。 函式可傳回的最小整數。
  • Top - 必要項目。 函式可傳回的最大整數。 必須等於或大於 Bottom

範例

基本使用方式

公式 描述 結果
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 之間的虛擬亂數:-101 因每個評估而異,例如 -1

使用者輸入隨 Rand 變化時顯示不同的亂數

  1. 新增 Slider 控制項,然後將它重新命名為 Slider1,如果它有不同名稱的話。

  2. 新增 Label 控制項,並將其Text屬性設定為下列公式:

    Slider1.Value + Rand()

    標籤顯示 50 (滑塊的預設值) 再加上隨機的小數:

    顯示具有 50.741 之標籤控制項的畫面。

  3. 按住 Alt 鍵,變更滑塊的值。

    每次您變更滑塊的值時,標籤的小數部分會顯示不同的亂數:

    四個畫面,顯示針對四個不同的滑塊設定 70.899、84.667、90.134、99.690,具有四個不同的隨機小數值的標籤控制項。

使用 RandBetween 建立亂數資料表

  1. 新增 Button 控制項,並將其 OnSelect 屬性設定為以下公式:

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

    此公式會建立用來逐一查看 100 次的單一資料行資料表,產生 100 個亂數。

  2. 新增資料資料表,將其 Items 屬性設定為 RandomNumbers,並顯示 Value 欄位。

    RandomNumbers 集合的資料來源選擇。

  3. 按住 Alt 鍵,點擊一下或點選以選取按鈕。

    資料資料表顯示 1 到 20 之間的 1 萬個亂數:

    包含 1 萬個亂數的資料資料表。

  4. 再次選取按鈕以顯示不同的亂數清單:

    同一畫面顯示具有一組新亂數的資料資料表。

若要產生單一亂數而不是資料表,請使用 Set( RandomNumber, Rand() )Set( RandNumber, RandBetween( 1, 20 ) )