$.post('ajax_ceneizbaze.php', function(cenovnik){
if(cenovnik){
cenastr=cenovnik.cenastrana;
cenadinamika=cenovnik.cenadinamika;
cenabaza=cenovnik.cenabaza;
cenakorpa = cenovnik.cenakorpa;
cenacms = cenovnik.cenacms;
inkrementodrzavanje = cenovnik.cenaodrzavanje;
rezz = parseInt(cenastr+cenadinamika);
alert(rezz);
}
else alert('bla bla..');
},'json');
cenastr的初始值是25,而对于cenadinamika是50,Ajax在这个我的例子中完美地工作,但是当我尝试总和值cenastr和cenadinamika我得到输出2550,而不是75?为什么我不能将它转换为整数并得到thoose二的总和。它只输出字符串格式的结果。我尝试在sum操作之前放置parseInt,但它没有帮助。
答案 0 :(得分:1)
你必须解析每个字符串:
rezz = parseInt(cenastr) + parseInt(cenadinamika);
尝试一下
答案 1 :(得分:0)
http://www.javascripter.net/faq/convert2.htm - 这可能有所帮助。您需要在计算之前将字符串转换为数字!
答案 2 :(得分:0)
+
运营商有双重目的。在字符串上它连接起来:
“25”+“50”=“2550”
对于数字,它将它们相加。
25 + 50 = 75
因此,我们可以推断出你的两个变量是字符串,并且你解析它们与一个整数连接的结果,给你2550。
在使用+
运算符添加它们之前,您需要将每个单独的值解析为int:
rezz = parseInt(cenastr,10) + parseInt(cenadinamika,10);
答案 3 :(得分:0)
parseInt将处理添加的结果,两者都是字符串,将是连接。
或者:
parseInt(cenastr) + parseInt(cenadinamika)
或使用一元运算符:
(+censtr) + (+cenadinamika);
答案 4 :(得分:0)
在添加之前确保变量是数字:
cenastr= +cenovnik.cenastrana;
cenadinamika= +cenovnik.cenadinamika;
//...
rezz = cenastr + cenadinamika;