0
$.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?为什么我不能将其转换为整数并得到这两者的总和。它仅以字符串格式输出结果。我尝试将 parseInt 放在求和操作之前,但它没有帮助。

4

5 回答 5

1

你必须 parseInt 每个字符串:

rezz = parseInt(cenastr) + parseInt(cenadinamika);

试试看

于 2011-03-18T15:25:33.290 回答
0

parseInt 将处理加法的结果,这两者都是字符串,将是连接。

任何一个:

parseInt(cenastr) + parseInt(cenadinamika)

或使用一元运算符:

(+censtr) + (+cenadinamika);
于 2011-03-18T15:28:36.487 回答
0

在添加之前确保变量是数字:

cenastr= +cenovnik.cenastrana;
cenadinamika= +cenovnik.cenadinamika;
//...
rezz = cenastr + cenadinamika;
于 2011-03-18T15:29:00.403 回答
0

http://www.javascripter.net/faq/convert2.htm - 这可能会有所帮助。您需要在计算之前将字符串转换为数字!

于 2011-03-18T15:26:55.477 回答
0

+运营商有双重目的。在字符串上,它将它们连接起来:

“25”+“50”=“2550”

有了数字,它将它们相加。

25 + 50 = 75

因此,我们可以推断出您的两个变量是字符串,并且您将它们连接为整数的结果解析为 2550。

+在使用运算符添加它们之前,您需要将每个单独的值解析为一个 int :

rezz = parseInt(cenastr,10) + parseInt(cenadinamika,10);
于 2011-03-18T15:28:13.070 回答