Avatar billede alvion Nybegynder
15. marts 2004 - 13:27 Der er 3 kommentarer og
1 løsning

Udregning af matematiske formler

Jeg har en liste af formler til omregning af enheder i forskellige grupper (vægt, fart, temperaturer, mv.)

Formlerne er sat op i formen "x*100", "x*29+50", etc,

Så hvis jeg nu har en variabel $a, som jeg gerne vil omregne med sidstnævnte formel, hvordan gør jeg så det nemmest?

Jeg tænkte selv på:

$formel = str_replace('x', '$a', $formel);
eval('$ny_a = ' . $formel);

Findes der en smartere måde?
Avatar billede raz0 Nybegynder
15. marts 2004 - 16:38 #1
Lav i stedet nogle funktioner der gør arbejdet for dig. Den metode du nævner kan selvfølgelig godt bruges, men jeg synes nu den er lidt besværlig. Prøv i stedet:

function gange100($tal)
{
    $resultat = $tal * 100;
    return $resultat;
}

function procent($tal, $procent)
{
    $resultat = $tal * $procent / 100;
    return $resultat;
}

print gange100(10);    // giver 1000
print procent(200,25);  // giver 50

Håber det hjælper. :)
Avatar billede alvion Nybegynder
15. marts 2004 - 21:27 #2
Hmnjaaa.... Det virker ikke som en god ide. Så skal jeg jo ind og fortolke hver enkelt formel.

Jeg har ca. 150 af sådanne formler, der skal anvendes til formålet.
Avatar billede raz0 Nybegynder
15. marts 2004 - 23:33 #3
Klart nok. Men det kan hurtig blive en meget omfattende "interpreter" du skal lave dig, hvis du da ikke kun holder dig til simpel gange/dividere/plus/minus. Men klart nok, man kan fint gøre som du har gjort. Hvis det bliver mere kompliceret kan du altid bruge regexp. www.php.net/pcre
Avatar billede alvion Nybegynder
12. april 2004 - 20:31 #4
Lukker
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