jquery,ajax数据总和无法正常工作

时间:2011-03-18 15:23:07

标签: javascript jquery ajax variables var

$.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,但它没有帮助。

5 个答案:

答案 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;