Avatar billede artico Novice
27. juni 2005 - 18:08 Der er 7 kommentarer og
1 løsning

3 decimaler for kilogram?

Jeg har denne kode, der virker fint til mine sammenlægninger af beløb. Men hvad skal jeg ændre for at den regner mine Kilogram rigtigt med 3 decimaler f.eks. 0,200 + 0,200 = 0,400

// beregner decimaler
function toDecimaler ( tal ) {
    if ( typeof( tal ) == String ) tal = parseFloat( tal );
    talTx = " " +Math.round( 100.0*tal ) +"_"
    if ( talTx.length < 5 ) {
        preZero = "_000";
        taltx = preZero.substring(0,6-talTx.length) +talTx.substring(1);
    };
    talTx = talTx.substring(1,talTx.length-3) +","
            + talTx.substring(talTx.length-3,talTx.length-1);
    return talTx;
}; //end toDecimaler ( nummer )
Avatar billede nielle Nybegynder
27. juni 2005 - 19:13 #1
Måske noget i denne stil:

<script type="text/javascript">
function medDecimaler($tal, $decimaler)
{
    $shift = 1.0 * Math.pow(10, $decimaler);

    $tal = $tal * $shift
    $tal = Math.round($tal);
    $tal = $tal / $shift;

    $tal = "" + $tal;

    $talDele = $tal.split(".");
    $heltal = $talDele[0];
    $decimal = $talDele[1];

    while ($decimal.length < 3) $decimal += "0";

    return $heltal + "," + $decimal;
}

document.write(medDecimaler(1.2345, 3));
</script>
Avatar billede artico Novice
27. juni 2005 - 19:47 #2
Det virker ikke? Jeg sammenregner "kilogrammene" som herunder, de indskrives som f.eks 0,200 Hvad gør jeg galt ?

var udregn_samletvagt = gram_pr_person_1 + gram_pr_person_2 + gram_pr_person_3 + gram_pr_person_4 + gram_pr_person_5 + gram_pr_person_6 + gram_pr_person_7;
    frmObj.samletvagt.value = medDecimaler (udregn_samletvagt);
Avatar billede nielle Nybegynder
27. juni 2005 - 19:54 #3
medDecimaler (udregn_samletvagt, 3);
Avatar billede artico Novice
27. juni 2005 - 20:15 #4
SMUKT !!! kom med et svar og der er udbetaling.....
Avatar billede nielle Nybegynder
27. juni 2005 - 20:22 #5
Den er lavet så du selv bestemmer antallet af decimaler :^)

... og et svar :^)
Avatar billede nielle Nybegynder
27. juni 2005 - 20:24 #6
Ups, ser en lille fejl. Brug denne version:

<script type="text/javascript">
function medDecimaler($tal, $decimaler)
{
    $shift = 1.0 * Math.pow(10, $decimaler);

    $tal = $tal * $shift
    $tal = Math.round($tal);
    $tal = $tal / $shift;

    $tal = "" + $tal;

    $talDele = $tal.split(".");
    $heltal = $talDele[0];
    $decimal = $talDele[1];

    while ($decimal.length < $decimal) $decimal += "0";

    return $heltal + "," + $decimal;
}

document.write(medDecimaler(1.2345, 3));
</script>

Der var et hardkodet 3-tal i den anden.
Avatar billede nielle Nybegynder
27. juni 2005 - 20:24 #7
Altså-altså-altså:

while ($decimal.length < $decimaler) $decimal += "0";
Avatar billede nielle Nybegynder
06. juli 2005 - 08:39 #8
Dum-di-dum...
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