Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517

    Problemi con la somma di due varibili

    Salve ragazzi,

    Ho un problema alquanto strano, devo sommare 2 variabili e fini qui tutto bene... ma il risultato è NaN.Ho provato a farmi stampare il tipo delle due variabili e mi dice che sono entrambi number.

    questo è il codice:

    codice:
    var tot_quantita_sel=0;
    var ultima_quantita=0;
    
    function aggiungiRigaB(nome,lotto,quantita,quantitarisu){ 
    
                  var qua=parseFloat(quantita);
    			  
    		 
    		 alert("Primo"+typeof(qua)+"     "+typeof(tot_quantita_sel));
    		 tot_quantita_sel=qua+tot_quantita_sel;
    		 ultima_quantita=qua;
    		 alert("Secondo"+typeof(tot_quantita_sel)+"  "+tot_quantita_sel);
    		 document.getElementById('quantita_tot').value=tot_quantita_sel;
    		 alert("Terzo"+document.getElementById('quantita_tot').value);
    	}
    Il problema sorge nel momento in cui chiamo per la seconda volta questa funzione.

    La prima volta che chiamo la funzione:
    Primo number number
    Secondo numer 1
    Terzo 1

    Dalla seconda volta in poi mi restituisce:

    Primo number number
    Secondo numer NaN
    Terzo NaN

    secondo voi dove può essere iil problema

  2. #2
    Secondo me passi quantita come stringa vuota (magari è il value di un input).
    Il fatto che una variabile sia un number non ti assicura che le operazioni matematiche non ti generino un NaN. Infatti:

    codice:
    typeof parseFloat(""); // "number"
    1 + parseFloat(""); // NaN
    Prova a controllare questa strada loggando il valore del parametro quantita

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    quantita contiene il valore che gli passo. ho provato

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    ho provato a fare questa prova

    codice:
    var tot_quantita_sel=5;
    var ultima_quantita=0;
    
    function aggiungiRigaB(nome,lotto,quantita,quantitarisu){ 
    			  
    		 
    		tot_quantita_sel=parseFloat(tot_quantita_sel)+parseFloat(tot_quantita_sel);
    		 alert("Secondo"+typeof(tot_quantita_sel)+"  "+tot_quantita_sel);
    	}
    la prima volta mi da 10, ma alla 2 chiamata mi ritorna NaN quindi il problema e in questa variabile
    tot_quantita_sel ma non capisco il motivo. dove sbaglio?

  5. #5
    Perdonami ma credo tu abbia fatto un errore a ritestare. Prova questo:

    codice:
    <html>
      <script>
        var tot_quantita_sel=5;
        var ultima_quantita=0;
    
        function aggiungiRigaB(nome,lotto,quantita,quantitarisu){ 
          tot_quantita_sel=parseFloat(tot_quantita_sel)+parseFloat(tot_quantita_sel);
          alert("Secondo"+typeof(tot_quantita_sel)+"  "+tot_quantita_sel);
        }
        aggiungiRigaB();
       aggiungiRigaB();
      </script>
    </html>
    E' lo stesso tuo codice, con in più due chiamate alla tua funzione. Il risultato è quello sperato.
    Fammi sapere.


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    517
    ma è identico?

    Ora sto provando un'altra strada

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 © 2024 vBulletin Solutions, Inc. All rights reserved.