Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Totale campi input non mi calcola i decimali

    Salve raga,
    ho un semplicissimo script javascript che prende i valori inseriti in campi input ed in un campo chiamato totale dovrebbe farmi la somma, il proble è che somma solo gli interi e non i decimali.

    esempio 10.25 + 25.30 = 35

    codice:
    <script language="javascript">
    function sum() {
    var a = parseInt(document.all.imp_1.value);
    var b = parseInt(document.all.imp_2.value);
    var c = a + b;
    document.all.totale.value = c;
    }
    </script>
    dove sbaglio ?
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    parseInt() -> intero
    parseFloat() -> decimale
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da br1 Visualizza il messaggio
    parseInt() -> intero
    parseFloat() -> decimale
    grazie, seguento il tuo sempli ma incisivo suggerimento ho risolto,
    approfitto per chiedere un'altra cosa, sempre inerente lo stesso script

    codice:
    <
    
    scriptlanguage="javascript">
    
    function
     sum() {
    
    var
     a = parseFloat(document.all.imp_1.value);
    
    var
     b = parseFloat(document.all.imp_2.value);
    
    var
     c = parseFloat(document.all.imp_3.value);
    
    var
     d = parseFloat(document.all.imp_4.value);
    
    var
     e = parseFloat(document.all.imp_5.value);
    
    var
     f = parseFloat(document.all.imp_6.value);
    
    var
     g = parseFloat(document.all.imp_7.value);
    
    var
     h = parseFloat(document.all.imp_8.value);
    
    var
     i = parseFloat(document.all.imp_9.value);
    
    var
     l = parseFloat(document.all.imp_10.value);
    
    var
     m = parseFloat(document.all.imp_11.value);
    
    var
     n = parseFloat(document.all.imp_12.value);
    
    var
     o = parseFloat(document.all.imp_13.value);
    
    var
     p = parseFloat(document.all.imp_14.value);
    
    var
     q = parseFloat(document.all.imp_15.value);
    
    var
    r = a + b + c + d + e + f + g + h + i + l + m + n + o + p + q;
    
    document.all.totale.value = r;
    
    }
    
    </
    script>
    esiste un modo per raggruppare i valori, evitando di scrivere
    var
    r = a + b + c + d + e + f + g + h + i + l + m + n + o + p + q; ?

    un po come si fa con excel ...

    Grazie
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    No.

    Pero' puoi seguire un'altra strada, compatibile con browser diversi da IE
    codice:
    r = 0 ; for(var i = 1; i <= 11; i++) { r += parseFloat(document.getElementById("imp_" + i).value) }
    Ovviamente occorre assegnare un ID uguale al name ad ogni campo
    Ultima modifica di br1; 10-04-2014 a 21:36
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.