Funkcijos Rand ir RandBetween
Taikoma: Drobės programos Darbalaukio srautai Modeliu pagrįstos programos Power Pages Power Platform CLI
Pateikia pseudoatsitiktinį skaičių.
Aprašą
Funkcija Rand pateikia pseudoatsitiktinį skaičių, kuris yra didesnis nei 0 arba jam lygus ir mažesnis nei 1. Pavyzdžiui, Rand() gali grąžinti 0.43147 ir gali pateikti 0 bet ne 1.
RandInimoween funkcija pateikia pseudo atsitiktinius sveikieji skaičiai (sveikasis skaičius be dešimtainės dalies), kuris yra tarp dviejų skaičių, ašrų. Pavyzdžiui, RandBetween( 1, 3 ) gali būti grąžintas 1, 2, ar 3.
Kintamos funkcijos
"Rand " ir "RandBetween" yra nepastovios funkcijos. Kiekvieną kartą įvertinus funkciją, ji pateikia kitą reikšmę.
Kai naudojama duomenų srauto formulėje, kintama funkcija kitą reikšmę pateiks tik tada, jei formulė, kurioje ji rodoma, bus įvertinta iš naujo. Jei formulėje daugiau niekas nekeičiama, tada jos reikšmė vykdant programą bus ta pati.
Pavyzdžiui, žymos valdiklis, kuriame nurodyta Label1.Text = Rand(), nebus aktyviai programai nepakis. Nauja reikšmė bus gauta tik uždarius ir iš naujo atidarius programą.
Jei funkcija yra įtraukta į formulę, kurioje pakito dar kažkas, ji bus įvertinta iš naujo. Pavyzdžiui, jei savo pavyzdį pakeičiame įtraukdami slankiklo valdiklį su Label1.Text = Slider1.Value + Rand(), tada naujas atsitiktinis skaičius generuojamas kiekvieną kartą, kai pasikeičia slankiklio valdiklio reikšmė ir iš naujo įvertinama žymos teksto ypatybė. Šis pavyzdys pateiktas toliau.
Naudojant elgesio formulę, Rand ir RandBetween bus įvertinta kiekvieną kartą, kai įvertinama veikimo formulė. Toliau pateiktas pavyzdys.
Sintaksė
Randas()
RandBetween( apačioje, viršuje )
- Apačia- būtina. Mažiausias sveikasis skaičius, kurį gali pateikti funkcija.
- Į viršų - būtina. Didžiausias sveikasis skaičius, kurį gali pateikti funkcija. Reikšmė turi būti didesnė arba lygi apačia.
Pavyzdžiai
Pagrindinis naudojimas
Formulė | Aprašą | Rezultatas |
---|---|---|
Randas() | Funkcija Rand pateikia pseudoatsitiktinį skaičių, kuris yra didesnis nei 0 arba jam lygus ir mažesnis nei 1. | Skiriasi atsižvelgiant į kiekvieną nelogią, pvz 0.874252. |
Randas() * 100 | Pagal ankstesnį pavyzdį dauginimas naudojamas diapazonui išplėsti iki daugiau arba lygu 0 ir mažiau nei 100. | Skiriasi atsižvelgiant į kiekvieną nelogią, pvz 78.42521. |
Int( Rand() * 100 ) | Pagal ankstesnį pavyzdį, naudoja funkciją Int kad pašalintų dešimtainę dalį, kai sveikojo skaičiaus yra daugiau arba lygu 0 ir mažiau nei 100 | Skiriasi atsižvelgiant į kiekvieną nelogią, pvz 84. |
RandBetween( 0, 99 ) | Pagal ankstesnį pavyzdį tą pačią operaciją atlieka naudodami funkciją RandBetween funkciją | Skiriasi atsižvelgiant į kiekvieną nelogią, pvz 21. |
RandBetween( -1, 1 ) | Grąžina pseudo-atsitiktinį skaičių, kuris yra nuo -1 iki 1 įskaitant: -1, 0, or 1. | Skiriasi atsižvelgiant į kiekvieną nelogią, pvz. -1. |
Skirtingo atsitiktinio skaičiaus rodymas kintant vartotojo su Rand
Įtraukite slankikliovaldiklį ir pervardykite jį Slider1, jei jis pavadintas kitaip.
Įtraukite žymos valdiklį ir jo ypatybę Text nustatykite kaip šią formulę:
Slankiklis1.Reikšmė + Rand()
Žymoje rodoma 50 (numatytoji slankiklio reikšmė), plius atsitiktinis dešimtainis skaičius:
Laikydami nuspaudę klavišą „Alt“, pakeiskite slankiklio reikšmę.
Kiekvieną kartą, kai pakeičiate slankiklio reikšmę, dešimtainėje žymos dalyje rodomas skirtingas atsitiktinis skaičius:
Atsitiktinių skaičių lentelės sukūrimas su RandBetween
Įtraukite Button valdiklį ir nustatykite jo OnSelect ypatybę pagal šią formulę:
ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))
Ši formulė sukuria vieno stulpelio lentelę, kartojamą penkis kartus 100 ir taip gaunant 100 atsitiktinius skaičius.
Įtraukite duomenų lentelę, jos ypatybę Items nustatykite kaip RandomNumbers ir parodykite lauką Value.
Laikydami nuspaudę klavišą Alt pasirinkite mygtuką, jį spustelėdami arba bakstelėdami.
Duomenų lentelėje pateikiami 100 šimtų atsitiktinių skaičių nuo 1 iki 20:
Norėdami rodyti kitą atsitiktinių skaičių sąrašą, dar kartą pasirinkite mygtuką:
Norėdami generuoti vieną atsitiktinį skaičių, o ne lentelę, naudokite Set( RandomNumber, Rand() ) ar Set( RandNumber, RandBetween( 1, 20 ) ).