Rand 和 RandBetween 函式
適用於: 畫布應用 桌面流 模型驅動應用 Power Pages Power Platform CLI
傳回虛擬亂數。
Description
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() 的 slider 控制項,則每次 Slider 控制項的值變更時都會產生新的亂數,且會重新評估標籤的文字屬性。 如需此範例,請參閱下方內容。
當用於行為公式時,Rand 和 RandBetween 將在每次評估行為公式時進行評估。 如需範例,請參閱下方內容。
語法
蘭德()
RandBetween( 底部, 頂部 )
- bottom - 必需。 函式可傳回的最小整數。
- Top - 必需。 函式可傳回的最大整數。 必須等於或大於 Bottom。
範例
基本使用方式
公式 | 描述 | 結果 |
---|---|---|
蘭德() | 傳回大於或等於 0 且小於 1 的虛擬亂數。 | 因每個評估而異,例如 0.874252。 |
蘭德()* 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,如果它有不同名稱的話。
新增 Label 控制項,並將其Text屬性設定為下列公式:
Slider1.Value + Rand()
標籤顯示 50 (滑塊的預設值) 再加上隨機的小數:
按住 Alt 鍵,變更滑塊的值。
每次您變更滑塊的值時,標籤的小數部分會顯示不同的亂數:
使用 RandBetween 建立亂數資料表
新增 Button 控制項,並將其 OnSelect 屬性設定為以下公式:
ClearCollect (RandomNumbers,ForAll(Sequence(100),RandBetween (1,20)))
此公式會建立用來逐一查看 100 次的單一資料行資料表,產生 100 個亂數。
新增資料資料表,將其 Items 屬性設定為 RandomNumbers,並顯示 Value 欄位。
按住 Alt 鍵,點擊一下或點選以選取按鈕。
資料資料表顯示 1 到 20 之間的 1 萬個亂數:
再次選取按鈕以顯示不同的亂數清單:
若要產生單一亂數而不是資料表,請使用 Set( RandomNumber, Rand() ) 或 Set( RandNumber, RandBetween( 1, 20 ) )。