Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Perchè la somma di due numeri unisce le due variabili

    Sto avendo un problema, in una semplice somma di due variabili, assegno il valore attraverso un inputbox, (60000 per entrambe)
    E la somma, risulta 6000060000.
    Sapete dirmi cosa sbaglio?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Le due variabili, probabilmente recuperate dall'attributo value dei campi input, per loro natura sono di tipo stringa, per tale motivo ottieni una "somma" di stringhe, cioè le due stringhe vengono "concatenate".

    Per risolvere dovrai convertire le variabili in valori numerici.
    Puoi fare in diversi modi. Un semplice modo è quello di anteporre il segno + alle singole variabili.
    codice:
    var valore1 = "60000"; 
    var valore2 = "60000";
    
    var sommaStringhe = valore1+valore2;
    var sommaNumeri = (+valore1)+(+valore2);
    
    alert(sommaStringhe);// output: 6000060000
    alert(sommaNumeri);// output: 120000
    Sarebbe meglio comunque convertire, in numeri, direttamente i valori recuperati dagli input, in modo da ottenere a priori due variabili di tipo numerico.
    Un esempio:
    codice:
    var valore1 = +tuoform.input1.value;
    var valore2 = +tuoform.input2.value;
    alert(valore1+valore2); // in questo caso ottieni comunque una somma numerica
    Installa Forum HTML.it Toolset per una fruizione ottimale 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.