Rand- ja RandBetween-funktio
Koskee seuraavia: pohjaan perustuvat sovellukset työpöytätyönkulut Mallipohjaisten sovellusten Power Pages Power Platform CLI
Palauttaa pseudosatunnaisluvun.
Description
Rand-funktio palauttaa pseudosatunnaisluvun, joka on suurempi tai yhtä suuri kuin 0 mutta pienempi kuin 1. Esimerkiksi Rand() voi palauttaa arvon 0.43147 tai arvon 0, mutta ei arvoa 1.
RandBetween-funktio palauttaa pseudosatunnaisen kokonaisluvun (kokonaisen luvun ilman desimaaliosaa), joka on kahden numeron välillä ne itse mukaan luettuna. Esimerkiksi RandBetween( 1, 3 ) voi palauttaa arvon 1, 2 tai 3.
Muuttuvat funktiot
Rand ja RandBetween ovat haihtuvia funktioita. Aina, kun funktiota arvioidaan, se palauttaa eri arvon.
Kun muuttuvaa funktiota käytetään tietotyönkulun kaavassa, muuttuva funktio palauttaa eri arvon vain arvioitaessa uudelleen kaavaa, jossa se esiintyy. Jos mitään muuta ei muuteta kaavassa, sillä on sama arvo koko sovelluksesi suorittamisen ajan.
Esimerkiksi selitteen ohjausobjekti, jossa Label1.Text = Now(), ei muutu, kun sovelluksesi on aktiivinen. Uusi arvo luodaan vain sulkemalla sovellus ja avaamalla se uudelleen.
Funktio arvioidaan uudelleen, jos se on osa kaavaa, jossa jotakin muuta kohtaa on muutettu. Jos lisäämme esimerkkiimme slider-ohjausobjektin, jossa Label1.Text = Slider1.Value + Rand() uusi satunnaisluku luodaan aina, kun Slider-ohjausobjektin arvo muuttuu ja selitteen tekstin ominaisuutta arvioidaan uudelleen. Katso esimerkki alta.
Kun Rand- ja RandBetween -funktioita käytetään käytöskaavassa, ne arvioidaan uudelleen aina arvioitaessa käytöskaavaa. Katso esimerkki alta.
Syntaksi
Rand()
RandBetween( alhaalla, ylhäällä )
- Pohja - Pakollinen. Pienin kokonaisluku, jonka toiminto voi palauttaa.
- Ylin - pakollinen. Suurin kokonaisluku, jonka toiminto voi palauttaa. Sen on oltava suurempi kuin Bottom.
Esimerkkejä
Peruskäyttö
Kaava | Kuvaus | Tulos |
---|---|---|
Rand() | Palauttaa pseudosatunnaisluvun, joka on suurempi tai yhtä suuri kuin 0 ja pienempi kuin 1. | Muuttuu kunkin arvioinnin myötä, esimerkiksi 0.874252. |
Rand() * 100 | Jatkaa edellisestä esimerkistä käyttämällä kertolaskua alueen laajentamiseksi vähintään arvoon 0 ja alle arvon 100. | Muuttuu kunkin arvioinnin myötä, esimerkiksi 78.42521. |
Int( Rand() * 100 ) | Jatkaa edellisestä esimerkistä käyttämällä Int-funktiota desimaaliosan poistamiseen, jolloin on tuloksena on kokonaisluku, joka on vähintään 0 ja vähemmän kuin 100. | Muuttuu kunkin arvioinnin myötä, esimerkiksi 84. |
RandBetween( 0, 99 ) | Jatkaa edellisestä esimerkistä suorittamalla saman toiminnon RandBetween-funktiota käyttäen | Muuttuu kunkin arvioinnin myötä, esimerkiksi 21. |
RandBetween( -1, 1 ) | Palauttaa pseudosatunnaisen numeron väliltä -1 ja 1 molemmat mukaan luettuna: -1, 0 tai 1. | Muuttuu kunkin arvioinnin myötä, esimerkiksi -1. |
Eri satunnaisluvun näyttäminen käyttäjäsyötteen muuttuessa Rand-funktion myötä
Lisää Slider-ohjausobjekti ja nimeä se uudelleen Slider1, jos sillä on eri nimi.
Lisää Label-ohjausobjekti ja määritä sen Text-ominaisuudeksi seuraava kaava:
Liukusäädin1.Arvo + Rand()
Selite näyttää 50 (liukusäätimen oletusarvo) ja satunnaisdesimaalin:
Liukusäätimen arvo muuttuu, kun pidät alhaalla Alt-näppäintä.
Aina kun muutat liukusäätimen arvoa, selitteen desimaaliosa näyttää eri satunnaisluvun:
Satunnaisia numeroita sisältävän taulukon luominen RandBetween-funktion avulla
Lisää Button-ohjausobjekti ja määritä sen OnSelect-ominaisuudeksi seuraava kaava:
ClearCollect (satunnaisluvut, ForAll( sekvenssi (100), RandBetween (1, 20) ))
Tämä kaava luo yksisarakkeisen taulukon, joka toistetaan 100 kertaa, ja tuloksesi saadaan 100 satunnaislukua.
Lisää Data table, määritä sen Items-ominaisuudeksi RandomNumbers ja näytä Arvo-kenttä.
Kun pidät alhaalla Alt-näppäintä, valitse painike napsauttamalla tai napauttamalla sitä.
Tietotaulukossa näkyy 100 satunnaista numero välillä 1 ja 20:
Valitse painike uudelleen, jos haluat näyttää eri satunnaislukujen luettelon:
Jos haluat luoda yksittäisen satunnaisen numeron taulukon sijaan, käytä funktiota Set( RandomNumber, Rand() ) tai Set( RandNumber, RandBetween( 1, 20 ) ).