2017-10-13 5 views
0

Ich versuche, eine Untersumme basierend auf einer Reihe von Währungs-formatierten Zahlen zu erstellen, aber ich habe Schwierigkeiten, die Zahlen wieder in Ganzzahlen zu konvertieren, so dass sie hinzugefügt werden können. Hier ist, was ich versucht habe:Berechnen Sie die Summe der mehreren Währungen formatierten Elemente

$(function() { 
 
    var totals = $('.price'); 
 

 
    var sum = 0; 
 
    for (var i = 0; i < totals.length; i++) { 
 
    //strip out dollar signs and commas 
 
    $(totals[i].text()).replace(/[^\d.]/g, ''); 
 

 
    //convert string to integer 
 
    var ct = parseFloat($(totals[i].text())); 
 
    sum += ct; 
 
    } 
 

 
    console.log(sum); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="price">$195,000.20</div> 
 
<div class="price">$21,404.00</div> 
 
<div class="price">$7,000.00</div> 
 
<div class="price">$450.00</div>

+0

Bitte stellen Sie sicher, dass Ihre Code-Snippet funktioniert. –

+0

Wenn es klappt wäre ich nicht hier;) – user13286

Antwort

2

replace() verändert nicht die Zeichenfolge übergeben (und es konnte nicht hier sowieso, da sie das Ergebnis einer Funktion ist). Es gibt nur den geänderten Wert zurück.

speichern das Ergebnis replace() und Summe basiert darauf, dass:

$(function() { 
 
    var totals = $('.price'); 
 

 
    var sum = 0; 
 
    for (var i = 0; i < totals.length; i++) { 
 
    //strip out dollar signs and commas 
 
    var v = $(totals[i]).text().replace(/[^\d.]/g, ''); 
 

 
    //convert string to integer 
 
    var ct = parseFloat(v); 
 
    sum += ct; 
 
    } 
 

 
    console.log(sum); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="price">$195,000.20</div> 
 
<div class="price">$21,404.00</div> 
 
<div class="price">$7,000.00</div> 
 
<div class="price">$450.00</div>

auch: die Tippfehler beachten Sie - Sie wollen $(totals[i]).text(), nicht $(totals[i].text())

+0

Vielen Dank! – user13286

Verwandte Themen