Rand と RandBetween 関数

適用先 : キャンバス アプリ デスクトップ フロー モデル駆動型アプリ Power Platform CLI

疑似乱数を返します。

Description

Rand 関数は、0 以上 1 未満の疑似乱数を返します。 たとえば、Rand()0.43147 を返すかもしれませんが、1 ではなく 0 を返す可能性もあります。

RandBetween関数は、2 つの数値の間にある疑似乱数整数 (小数点なしの整数) を返します。 たとえば、RandBetween( 1, 3 ) では 12、または 3 を返す可能性があります。

Volatile 関数

RandRandBetween は揮発性関数です。 関数が評価されるたびに、別の値が返されます。

データ フロー数式で使用すると、揮発性の関数は、それが表示される数式が再評価される場合に別の値を返すだけです。 数式で何も変更されていない場合、アプリの実行全体を通じて同じ値を返します。

たとえば、Label1.Text = Rand() である Label コントロールは、アプリがアクティブな間は変化しません。 アプリを閉じてからもう一度開いた場合にのみ、新しい値が返ります。

関数は、他の何かが変更された数式の一部である場合に再評価されます。 たとえば、Label1.Text = Slider1.Value + Rand() である Slider コントロールを含むように例を変更した場合、Slider コントロールの値が変化するたびにラベルのテキスト プロパティが再評価されて、新しい乱数が生成されます。 この例については、以下を参照してください。

動作の数式 を使用すると、RandRandBetween は動作式が評価されるたびに評価されます。 例については、以下を参照してください。

構文

Rand()

RandBetween( 最小, 最大 )

  • Bottom - 必須。 関数が返す可能性がある最小の整数。
  • Top - 必須。 関数が返す可能性がある最大の整数。 最小 と等しい、または大きな値である必要があります。

使用例

基本的な使用

説明設定 結果
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 キーを押しながら、スライダーの値を変更します。

    スライダーの値を変更するたびに、ラベルの小数部分に異なる乱数が表示されます。

    4 つの異なるスライダー設定 70.899、84.667、90.134、99.690 に対して、4 つの異なるランダムな小数値が Label コントロールに表示されている 4 つの画面。

RandBetween を使用して乱数表を作成します

  1. Button コントロールを追加し、その OnSelect プロパティを次の数式に設定します。

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

    この式は、100 回反復して 100 つの乱数を生成するために使用される単一列のテーブルを作成します。

  2. Data table を追加し、その Items プロパティを RandomNumbers に設定して、Value フィールドを表示します。

    RandomNumbers コレクションのデータ ソース選択。

  3. Alt キーを押しながら、クリックまたはタップしてボタンを選択します。

    データ テーブルは、1 から 20 までの乱数 100 個が表示されています。

    100 個の乱数を含むデータ テーブル。

  4. もう一度ボタンを選択すると、別の乱数のリストが表示されます。

    同じ画面で、新しい乱数を設定したデータ テーブルが表示されます。

テーブルの代わりに単一の乱数を生成する場合は、Set( RandomNumber, Rand() ) または Set( RandNumber, RandBetween( 1, 20 ) ) を使用します。