Avatar billede robertdhn Nybegynder
23. marts 2004 - 09:57 Der er 16 kommentarer og
2 løsninger

indput tal udregnes

Jeg skal lave en slags regnemaskine:

Brugeren indtaster deres tal i et txt felt (ex. 15) derefter trykker derefter beregn...

Regneskykket:
15*122/113+71,6-72=
(15 gange 122 divideret med 113 plus 71,6 minus 72 =)

resultatet vises i et andet txt felt

Er der nogle der kan hjælpe mig igang?

Robert
Avatar billede per-olof Nybegynder
23. marts 2004 - 10:54 #1
Hvis du kiger på:
http://www.flashkit.com/search.php?cat=movies&per=10&page=1&field=Description&term=calculator
Så finder du en masse calculatorer med tilhørende *fla og beskrivelser av tanken bagom.
Avatar billede robertdhn Nybegynder
23. marts 2004 - 11:40 #2
jeg ville gerne ha' en lidt mere detalieret hjælp... jeg HAR kigget på flashkit.com før jeg oprettede spørgsmålet!
Avatar billede mat Nybegynder
23. marts 2004 - 11:45 #3
er det kun "15" der er variabel? eller vil du lave en decideret lommeregner?
Avatar billede robertdhn Nybegynder
23. marts 2004 - 11:56 #4
det er kun "15" (eller hvad brugeren nu indtaster) der er variabel!

Rob
Avatar billede mat Nybegynder
23. marts 2004 - 12:07 #5
Lav et input felt og giv det instancenavnet "inp" (uden "") og et dynamisk tekstfelt med navne "result" (uden ""). Så laver du en knap der skal regne det ud og på den skriver du:

on (release) {
    result.text = Number(inp.text) * 122 / 113 + 71.6 - 72;
}

..sån :)

mvh mat
Avatar billede robertdhn Nybegynder
23. marts 2004 - 12:20 #6
virker perfekt!! Super...

lige en detalje kan man begrænse "15.7946902654867" (resultatet af regnestykket) til "15.7" altså en decimal?
Avatar billede barklund Nybegynder
23. marts 2004 - 14:00 #7
Du afrunder til 1 decimal med:

tal = Math.round(tal*10)/10;

(og jeg sad også lige og håbede, at du ville have en hel algebraisk udtryksparser - det er nemlig sjovt at lave :)

// Morten Barklund
Avatar billede robertdhn Nybegynder
23. marts 2004 - 14:20 #8
Barklund > hvordan skal "tal = Math.round(tal*10)/10;" sættes ind? - og skal den hedde det i forhold til de instance navne jeg har?

Hvad skal den hedde hvis jeg vil runde op til nærmeste hele tal?

Lige en anden ting: når jeg fx indtaster 13,3 i "regnemaskinen" vil den ikke være med pga kommaet (som skal være et punktum) kan jeg få flashen til at skrive "." når brugeren trykker "," - eller hvordan løses den?
Avatar billede barklund Nybegynder
23. marts 2004 - 14:29 #9
Troede du selv lige kunne overskue at erstatte tal med det, du selv havde, men okay...

Nedenunder er kode, der runder af til et helt tal.

For at du kan læse henover et punktum, så kan du bagefter bare lige rette det:

on (release) {
    var tal = Number(inp.text.split(",").join(".")) * 122 / 113 + 71.6 - 72;
    result.text = Math.round(tal);
}

// Moretn Barklund
Avatar billede robertdhn Nybegynder
23. marts 2004 - 14:54 #10
ja ok... jeg er nok ved at være en smule forvirret - sorry! ...men NU VIRKER DET!

en sidste ting... hvordan nul stiller jeg det hele, når jeg har lavet en udregning og prøver en ny bliver resultatet "0"

kan jeg lave en "nulstil" knap?
Avatar billede barklund Nybegynder
23. marts 2004 - 15:00 #11
Resultatet bliver da ikke 0 anden gang - gør det?

Prøv med:

on (release) {
    var input = Number(inp.text.indexOf(".") != -1 ? inp.text.split(",").join(".") : inp.text);
    var tal = input * 122 / 113 + 71.6 - 72;
    result.text = Math.round(tal);
}

Men må jeg spørge om, hvorfor du lægger 71.6 til og trækker 72 fra? Hvorfor ikke bare trække 0.6 fra, som jo alligevel giver det samme.

// Morten Barklund
Avatar billede robertdhn Nybegynder
23. marts 2004 - 15:25 #12
se http://www.wbee.dk/hedeland/sph.html

min "kvinde" knap hedder nu:

on (release) {
    var inp = ((Number(inp.text.split(",").join("."))*122/113)+71.6-72);
    result.text = Math.round(inp);
}

robert
Avatar billede barklund Nybegynder
23. marts 2004 - 15:55 #13
Du kan da ikke overskrive dit inputfelt med en variabel? Det er noget rod! "inp" er jo inputfeltet - det kan ikke også være variablen.... skriv scriptet, som jeg har lavet det!

Man må godt forstå scriptet også :)

on (release) {
    var tal= ((Number(inp.text.split(",").join("."))*122/113)+71.6-72);
    result.text = Math.round(tal);
}

// Morten Barklund
Avatar billede robertdhn Nybegynder
23. marts 2004 - 16:28 #14
ja... nu virker det!!! Du er en helt!

lige for at prøve at forstå... hvor kommer "tal" fra?

...der er point til barklund (måske også mat) hvad er jeres holdning til det?

robert
Avatar billede barklund Nybegynder
23. marts 2004 - 17:08 #15
Det er en variabel - du kender vel til at oprette og bruge helt almindelige variabler?

Her er i hvert fald et svar, men det var jo mat, der kom med det første rigtige svar :)
Avatar billede mat Nybegynder
23. marts 2004 - 18:43 #16
Jeg var jo nødt til at tage i skole :)
Avatar billede robertdhn Nybegynder
23. marts 2004 - 21:17 #17
tak for hjælpen!
Avatar billede barklund Nybegynder
23. marts 2004 - 21:23 #18
Tark for points ;)
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