Avatar billede dotnewbi Juniormester
25. august 2008 - 11:01 Der er 3 kommentarer og
1 løsning

addere to decimaltal

Hej eksperter,

Jeg har en problem, jeg har en funktion hvor jeg henter værdierne fra nogle dynamisk genereret input felter og lægger deres værdier sammen og det virker til dels også fint dog har jeg det problem at hvis inputfelterne indeholder decimaler så kan jeg ikke få dem med i slut resultatet eks. 120.75 + 569.50 = 689.00. Decimalerne bliber ikke taget med min funktion ser sådan her ud:

function gettotalcount(theClass,id) {

var allPageTags=document.getElementsByTagName("*");
document.getElementById(id).value = 0;

for (i=0; i<allPageTags.length; i++) {

if (allPageTags[i].className==theClass) {

var myvalue = Math.round(parseInt(document.getElementById(id).value)*100)/100 + Math.round(parseInt(allPageTags[i].value)*100)/100;

document.getElementById(id).value = myvalue.toFixed(2) ;

}
}
}

Er den nogen der kan se fejlen!
Avatar billede w13 Novice
25. august 2008 - 11:08 #1
Det er dine parseInt-funktioner, som gør fejlen. Disse konverterer tallene til heltal, dvs. fjerner decimalerne.
Avatar billede w13 Novice
25. august 2008 - 11:10 #2
Ret til:

function gettotalcount(theClass,id) {

    var allPageTags=document.getElementsByTagName("*");
    var o=document.getElementById(id);
    o.value = 0;

    for (i=0; i<allPageTags.length; i++) {

        if (allPageTags[i].className==theClass) {

            var myvalue = Math.round(parseFloat(o.value)*100)/100 + Math.round(parseFloat(allPageTags[i].value)*100)/100;

            o.value = myvalue.toFixed(2);

        }
    }
}

Her bruger jeg parseFloat i stedet.
Avatar billede dotnewbi Juniormester
25. august 2008 - 11:20 #3
ja selvfølgelig! den havde jeg ikke lige set men nu virker det perfect tak for hjælpen!
Avatar billede w13 Novice
25. august 2008 - 11:20 #4
Tak for point! :)
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