【问题标题】:jquery , ajax data sum cant get to work correctlyjquery,ajax数据总和无法正常工作
【发布时间】:2011-03-18 15:23:06
【问题描述】:
$.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 放在求和操作之前,但它没有帮助。

【问题讨论】:

    标签: javascript jquery ajax variables var


    【解决方案1】:

    你必须解析每个字符串:

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

    试试看

    【讨论】:

    • 当有人这样做时,给他们一张支票总是好的:-D
    • 如果我警告一个学生 :) 我会给它:P 呵呵,非常感谢:D
    • 大声笑@Игор Рајачић 你不能选择2个答案。你只能检查一个
    • 是的,我刚刚弄明白了,我是 stackoverflow 的新手,麻烦让我在这里注册并发布我的问题,我很惊讶这个网站的效率如此之高!感谢您的回答,并感谢您提供信息回合检查 btn :)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      + 运算符有双重用途。在字符串上,它将它们连接起来:

      “25”+“50”=“2550”

      用数字来求和。

      25 + 50 = 75

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

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

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

      【讨论】:

        【解决方案4】:

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

        cenastr= +cenovnik.cenastrana;
        cenadinamika= +cenovnik.cenadinamika;
        //...
        rezz = cenastr + cenadinamika;
        

        【讨论】:

        • 这对我也很有用:) 那是我不知道的另一种方法:) 也谢谢你的回答:)
        【解决方案5】:

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

        要么:

        parseInt(cenastr) + parseInt(cenadinamika)
        

        或使用一元运算符:

        (+censtr) + (+cenadinamika);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多