Avatar billede ribo Nybegynder
07. september 2005 - 15:02 Der er 9 kommentarer og
1 løsning

javascript til udregning af konditionsfaktor

Er der en, der kan og vil lave et script i java, som kan lave følgende udregning.

Der skal være et felt, hvor man indtaster vægt i gram
Der skal være et felt, hvor man indtaster længde i cm.
Så skal der være et felt der viser konditionsfaktoren (bruges til at beregne konditionsfaktoren på laks og havørred)
Udregningen gøres på følgende måde:

    Vægt * 100
---------------------------
længde * længde * længde

På forhånd tak!

Ribo
Avatar billede olebole Juniormester
07. september 2005 - 15:05 #1
<ole>

<script type="text/JavaScript">
function calc(weight, length) {
    return (weight*100)/Math.pow(length, 2);
}
</script>

<button onclick="alert( calc(5, 50) )">TEST</button>

/mvh
</bole>
Avatar billede olebole Juniormester
07. september 2005 - 15:08 #2
- og med felter:

<script type="text/JavaScript">
function calc() {
    var length, weight = parseInt(document.getElementById("weight").value);
    length = parseInt(document.getElementById("length").value);
    return (weight*100)/Math.pow(length, 2);
}
</script>

<input id="length" type="text">
<input id="weight" type="text">
<button onclick="alert( calc() )">TEST</button>
Avatar billede olebole Juniormester
07. september 2005 - 15:09 #3
- og så skulle det jo være i tredie potens  ;o)
    return (weight*100)/Math.pow(length, 3);
Avatar billede ribo Nybegynder
07. september 2005 - 21:19 #4
Hej Ole
Det virker pefekt!

Jeg kunne dog godt tænke mig, hvis der kan nøjedes med 3 decimaler efter kommaet. Kan du klare den?
Avatar billede olebole Juniormester
08. september 2005 - 07:36 #5
Det kunne være noget à la:

<script type="text/JavaScript">
function calc() {
    var res, length, weight = parseFloat(document.getElementById("weight").value);
    length = parseFloat(document.getElementById("length").value);
    res = (weight*100)/Math.pow(length, 2);
    res = res.toString().split(".");
    if (res[1]) {
        res[1] = res[1].toString().substr(0,3);
        res = res.join(".");
    }
    return parseFloat(res);
}
</script>

<input id="length" type="text">
<input id="weight" type="text">
<button onclick="alert( calc() )">TEST</button>
Avatar billede olebole Juniormester
08. september 2005 - 07:37 #6
- og der var en lille unødvendighed i funktionen ... sådan:

<script type="text/JavaScript">
function calc() {
    var res, length, weight = parseFloat(document.getElementById("weight").value);
    length = parseFloat(document.getElementById("length").value);
    res = (weight*100)/Math.pow(length, 2);
    res = res.toString().split(".");
    if (res[1]) {
        res[1] = res[1].substr(0,3);
        res = res.join(".");
    }
    return parseFloat(res);
}
</script>
Avatar billede ribo Nybegynder
08. september 2005 - 09:45 #7
Hej Ole
Mange tak for hjælpen
Avatar billede olebole Juniormester
08. september 2005 - 09:59 #8
... anytime, hombre  ;o)
Avatar billede roenving Novice
08. september 2005 - 13:18 #9
-- og så bør man vel for en sikkerheds skyld sørge for at der er mindst tre cifre efter kommaet:

        res[1] = (res[1]+"00").substr(0,3);
Avatar billede olebole Juniormester
08. september 2005 - 13:25 #10
- hvis de skal bruges, ja  :)
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