Avatar billede sprutnik Nybegynder
03. marts 2009 - 15:29 Der er 5 kommentarer og
1 løsning

Generere et tilfældigt tal med en nedre og øvre grænse

Jeg sidder med en opgave, hvor jeg ønsker at brugeren skal kunne definere en nedre og øvre grænse for et tilfældigt tal.
Det skal foregå ved at der skal være to input-felter; et hvor brugeren definerer det tilfældige tals nedre grænse og et andet input-felt, hvor brugeren definerer det tilfældige tals øvre grænse. Dernæst skal der være et dynamisk felt, der viser det tilfældige tal. Til sidst skal der være en knap, der genererer det tilfældige tal.

Problemet at jeg ikke kan finde ud af at knytte en variabel til mine tekstfelter og at få disse variabler til at forstå, at der arbejdes med tal og ikke med tekst. Jeg får altid et NaN.
Mit nuværende udgangspunkt er nedenstående, der naturligvis ikke fungerer. Er der en person, der kan fortælle mig, hvordan jeg lader brugeren indtaste et tal i hvert tekstfelt for derefter at genererer et tilfældigt tal?


stop();

this.createTextField("inputmin", 1, 60, 70, 100, 30);
inputmin.border = true;
inputmin.type = "input"
inputmin.restrict = "0-9";
//definerer den nedre grænse for et tilfældigt tal

this.createTextField("inputmax", 2, 200, 70, 100, 30);
inputmax.border = true;
inputmax.type = "input"
inputmax.restrict = "0-9";
//definerer den øvre grænse for et tilfældigt tal

this.createTextField("output", 3, 400, 70, 100, 30);
output.border = true;
output.type = "dynamic"
//skal vise et tilfældigt tal mellem inputmin og output

btn1.onRelease = function() {
    _root.output = Math.ceil(Math.random() * (inputmax - inputmin)) + (inputmin);
};
Avatar billede maqhem Nybegynder
03. marts 2009 - 16:05 #1
Prøv med parseFloat(inputmin) og parseFloat(inputmax).
Avatar billede sprutnik Nybegynder
04. marts 2009 - 06:39 #2
#1 parseFloat sorterer en tekststring i tal og tekst, og beholder derefter kun tallene, right? Mit problem er stadig, at jeg ikke kan "fange", det der bliver skrevet i inputmin- og inputmax-felterne. Når jeg bruger parseFloat(inputmin) retuneres et NaN, fordi det slet ikke registreres at jeg har skrevet noget i mine tekstfelter.
Avatar billede maqhem Nybegynder
04. marts 2009 - 07:56 #3
Right, jeg var lige fraværende et sekund. Sådan her er det selvfølgelig:

btn1.onRelease = function() {
    _root.output.text = Math.ceil(Math.random() * (parseFloat(inputmax.text) - parseFloat(inputmin.text))) + parseFloat(inputmin.text);
};
Avatar billede sprutnik Nybegynder
04. marts 2009 - 08:45 #4
Det er jo smukt. Tak for hjælpen.
Avatar billede sprutnik Nybegynder
04. marts 2009 - 08:45 #5
Og smid lige et svar
Avatar billede maqhem Nybegynder
04. marts 2009 - 08:57 #6
Svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester