Avatar billede martinfrost Nybegynder
26. april 2002 - 19:29 Der er 5 kommentarer og
1 løsning

Udfør streng

Jeg har lavet et script, der kan differentiere og integrere en vilkårlig funktion, men som enhver matematiker ved, så kan det være mindst ligeså interessant at sætte tal ind på x's plads i integralet (den øvre og nedre grænse).

Problemet er således, at jeg har en streng indeholdende noget simpelt matematik, som skal løses.

Str = "25*2^2-24*2"

Hvordan forklarer jeg computeren, at strengen skal "reduceres/udregnes"? For den kan jo sagtens løse den type matematik i ordinær kode.

Jeg vil have, at den returnerer: 52

Jeg er klar over, at dette spørgsmål kan være svært at forstå, men de, der har arbejdet med lignende ved nok, hvad jeg mener.
Avatar billede invisibleman Nybegynder
26. april 2002 - 19:34 #1
Du kan ikke direkte udregne den fra en streng. Der skal du bruge en "expression evaluator" der kan splitte strengen op og evaluerer de forskellige operatorer og tal.

Det er ikke nogen nem opgave, men der findes nogle funktioner der kan. Dog ved jeg ikke vhor sådann kan findes ..
Avatar billede martinfrost Nybegynder
26. april 2002 - 19:43 #2
Det er bare så dødirriterende, at den ikke fatter det bare fordi det er en streng. Jeg kan jo sagtens be' den løse:

facit = 25*2^2-24*2

Der må da findes en metode, der er lettere, hvor mange ikke først skal lære den alle matematiske regneregler osv. - Hvor den bare læser, hvad der står, og regner det... Evt. hvis udregningen foregår, mens strengen kreeres af scriptet...??!!
Avatar billede jespernaur Nybegynder
26. april 2002 - 20:32 #3
Du kan bruge

    result = Eval(str)
Avatar billede eagleeye Praktikant
26. april 2002 - 20:38 #4
Du kan benytte Eavl til at lave en udregning af en streng:

Str = "25*2^2-24*2"
facit= Eval(Str)
Response.Write "Facit = " & facit
Avatar billede martinfrost Nybegynder
26. april 2002 - 20:46 #5
YEAH! Lige præcis, hvad jeg ledte efter, jespernaur og eagleeye :D MUCHAS GRACIAS! Nu kom Jespernaur jo først, så du får pointene og tak til jer begge endnu engang!!

Mvh
Martin
Avatar billede eagleeye Praktikant
26. april 2002 - 20:55 #6
det var så lidt.. ja jeg havde ikke lige set han havde svare før jeg lage et 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
Kurser inden for grundlæggende programmering

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