Avatar billede rune.osterdal.com Nybegynder
20. september 2001 - 09:59 Der er 6 kommentarer og
2 løsninger

Udregning ud fra tre variabler

Jeg ønsker at lave en funktion, der ud fra 3 variabler laver en udregning. De 2 variabler (tal1, tal2) er talene (strings). Den tredie variabel er enten \"/\",\"*\",\"+\",\"-\". Jeg kunne selvfølgelig lave det med en case \"/\" og så skrive at den for tilfældet \"/\" skal udføre (Lang.parseInt(tal1) / Lang.parseInt(tal2)) og så fremdeles. Men jeg vil altså høre om det kan lade sig gøre at lave noget i retning af (Lang.parseInt(tal1) operator Lang.parseInt(tal2))... Hmm.. jeg har vist ikke helt styr på det der parseInt!?!
Glæder mig til at høre fra Jer! (o;
Avatar billede tknudsen Nybegynder
20. september 2001 - 10:03 #1
du kan bruge eval() funktionen til at evaluerer (!) et streng udtryk:

<script language=\"javascript\">

var dims = eval(\'1+2\');
document.write(dims)

</script>
Avatar billede cuddles Nybegynder
20. september 2001 - 10:04 #2
Tjoh, du kunne vel lave:

strEval = Lang.parseInt(Tal1) + operator + Lang.parseInt(tal2)
result = Eval(strEval)
Avatar billede ztyxx Nybegynder
20. september 2001 - 10:05 #3
skal det bruges til udregninger af eks. et regnestykke...
kan det laves i PHP også??
Avatar billede tknudsen Nybegynder
20. september 2001 - 10:06 #4
så du skal putte dine 3 variabler ind i en streng og kalde eval() med den streng som parameter:

var calc = tal1 + op + tal2;
var result = eval(calc);

du kan sføli også sende variabler direkte over i eval():

var result = eval(tal1+op+tal2);
Avatar billede rune.osterdal.com Nybegynder
20. september 2001 - 10:29 #5
Tak, det hjalp... som jeg skrev har jeg vist ikke helt fattet lang.parseInt(tal) ...
den siger nemlig nu at lang ikke er defineret... præcis hvad er lang?
Avatar billede jakoba Nybegynder
20. september 2001 - 10:55 #6
Lang er en del af Dokument modellen for den afart af javascript der benyttes i WML (il internet over mobiltelefon). Den findes ikke i normale browsere.

der skriver du blot:
    parseInt( streng_der_starter_med_et_tal );

eller hellere (his der er risiko for foranstillede nuller):
    parseInt( streng_der_starter_med_et_tal, 10 );

10-tallet fortæller at tallet er skrevet i ti-talssystemet.

mvh JakobA

Avatar billede rune.osterdal.com Nybegynder
20. september 2001 - 15:10 #7
takker...
skal jeg tage højde for noget specielt eller kan jeg bare bruge parseFloat, hvis min
JS-lommeregner skal kunne regne med decimaltal?
Avatar billede jakoba Nybegynder
20. september 2001 - 16:42 #8
du kan godt bruge parseFloat( talstreng );

men husk på at:
1) den forveter kommaer skrevet som punktum (amerikansk decimalpunkt)
2) med parseFloat må paremeterstrengen ikke indeholde andet end tallet (+ evt nogen blanktegn)
3) parseFloat er altid decimal, du kan ikke angive radix.

mvh JakobA
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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