2010-01-14 13 views
10

Ho una richiesta AJAX che restituisce un oggetto json contenente alcuni valori con due decimali ciascuno, ma poiché è json questi valori sono stringhe quando vengono restituiti. Quello che devo fare è eseguire l'aggiunta su questi valori. Solo un semplice a + b = c, ma si concatenano invece diventando ab.jQuery + parseDouble problem

Speravo di poter usare parseDouble in jQuery proprio come posso usare parseInt ma apparentemente non posso. Almeno non quello che ho trovato. Quindi la domanda rimane, c'è un modo per aggiungere questi due valori stringa in un valore doppio o float? O dovrei semplicemente calcolare questo dal lato server e inviare il valore già aggiunto al browser e jQuery.

Esempio:

Questo è ciò che accade 5,60 + 2,20 = 5.602.20

Questo è quello che dovrebbe accadere 5,60 + 2,20 = 7,80

grato per le risposte.

+1

"... ma dal momento che è JSON questi valori sono stringhe ..." - valori JSON non c'è bisogno di essere stringhe. Possono essere oggetti, matrici, stringhe, numeri (virgola mobile), booleani o nulli. –

risposta

51

Basta usare parseFloat():

var c = parseFloat(a) + parseFloat(b); 
+0

Oh non ho visto il tuo commento, ho appena capito. Grazie comunque per essere stato utile. :) –

+0

si potrebbe quindi accettare la sua risposta – ant

+9

Si potrebbe anche usare l'operatore unario (+) per convertire le stringhe in numeri. 'var c = + (a) + + (b);' –