2016-03-22 3 views
1

Warum Fehler?Javascript-Variablen das Ergebnis nicht hinzufügen, Variablen sind als String warum?

erwarteten Ergebnisse = 1360000

result = 1000000360000

<script> 
 
function hitungJumlah() { 
 
var jumlah = document.getElementById("pinjam").value; 
 
var lama = document.getElementById("kembalinya").value; 
 
var bunga = lama * 12/100; 
 
var biaya = document.getElementById("biaya").value = jumlah * bunga; 
 
document.getElementById("total").value = jumlah + biaya; 
 
} 
 
</script>

enter image description here

Antwort

4

Weil es Ihre Daten als string Verwendung parseInt() Funktion ist lesen Sie Ihre dat machen ein als Integer

Versuchen mit diesem

parseInt(jumlah) + parseInt(biaya) 

Beacuse 1000000 und 360000 wirken als String. + wird auch in javascript

+0

Ok, danke deine Antwort ist Arbeit !!! (y) – FadLy

0

für Verketten verwendet Da der * Operator wont Typ wie + Betreiber zwingen. Außerdem müssen Sie möglicherweise document.getElementById() die ganze Zeit nicht verwenden. Du könntest es einfach tun;

<script> 
function hitungJumlah() { 
    var jumlah = Number(pinjam.value), 
     lama = Number(kembalinya.value), 
     bunga = lama * 12/100; 
    biaya.value = jumlah * bunga; 
    total.value = jumlah + biaya; 
} 
</script> 

Obwohl parseInt() und Number() haben Unterschiede. Während parseInt("42*10") 42 ergeben würde, würde ein Zahlenobjektkonstruktor Number("42*10") eine NaN ergeben.

Seien Sie also vorsichtig mit ihnen zu spielen.

Verwandte Themen