Javascript变量没有添加结果,变量都充当字符串为什么?

Javascript变量没有添加结果,变量都充当字符串为什么?,javascript,php,html,Javascript,Php,Html,为什么会出错 预期结果=1360000 结果=10000036000 功能hitungJumlah{ var jumlah=document.getElementByIdpinjam.value; var lama=document.getElementByIdkembalinya.value; var bunga=lama*12/100; var biaya=document.getElementByIdbiaya.value=jumlah*bunga; document.getElemen

为什么会出错

预期结果=1360000

结果=10000036000

功能hitungJumlah{ var jumlah=document.getElementByIdpinjam.value; var lama=document.getElementByIdkembalinya.value; var bunga=lama*12/100; var biaya=document.getElementByIdbiaya.value=jumlah*bunga; document.getElementByIdtotal.value=jumlah+biaya; }
因为它以字符串形式读取数据,所以使用parseInt函数将数据设置为整数

试试这个

parseInt(jumlah) + parseInt(biaya)

因为1000000和360000充当字符串也用于javascript中的concatation,因为它将数据作为字符串读取,使用parseInt函数将数据作为整数

试试这个

parseInt(jumlah) + parseInt(biaya)
因为1000000和360000充当字符串也用于javascript中的concatation,因为*运算符不会像+运算符那样键入强制。此外,您可能不必一直使用document.getElementById。你可以简单地做

<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>
虽然parseInt和Number有差异。而parseInt42*10将产生42,因为数字对象构造函数Number42*10将产生NaN

所以要小心使用它们。

因为*操作符不会像+操作符那样键入强制。此外,您可能不必一直使用document.getElementById。你可以简单地做

<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>
虽然parseInt和Number有差异。而parseInt42*10将产生42,因为数字对象构造函数Number42*10将产生NaN

所以要小心玩它们