为了账号安全,请及时绑定邮箱和手机立即绑定

如何在javascript中强制加法而不是串联

如何在javascript中强制加法而不是串联

神不在的星期二 2019-12-05 15:50:52
我正在尝试像这样在我的JavaScript中添加所有卡路里含量:$(function() {    var data = [];    $( "#draggable1" ).draggable();    $( "#draggable2" ).draggable();    $( "#draggable3" ).draggable();    $("#droppable_box").droppable({        drop: function(event, ui) {            var currentId = $(ui.draggable).attr('id');            var total = 0;            data.push($(ui.draggable).attr('id'));            if(currentId == "draggable1"){            var myInt1 = parseFloat($('#MealplanCalsPerServing1').val());            }            if(currentId == "draggable2"){            var myInt2 = parseFloat($('#MealplanCalsPerServing2').val());            }            if(currentId == "draggable3"){            var myInt3 = parseFloat($('#MealplanCalsPerServing3').val());            }        if ( typeof myInt1 === 'undefined' || !myInt1 ) {        myInt1 = parseInt(0);        }        if ( typeof myInt2 === 'undefined' || !myInt2){        myInt2 = parseInt(0);        }        if ( typeof myInt3 === 'undefined' || !myInt3){        myInt3 = parseInt(0);        }        total = parseFloat(myInt1 + myInt2 + myInt3);        $('#response').append(total);        }    });    $('#myId').click(function(event) {        $.post("process.php", ({ id: data }), function(return_data, status) {            alert(data);            //alert(total);        });    });});无需添加变量,而是将它们串联在一起。我试过使用parseInt,parseFloat和Number,但是我仍然只是串联而不是加法。请在http://m
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

您的代码将三个字符串连接起来,然后将结果转换为数字。


您需要通过调用每个变量将每个变量转换为数字parseFloat()。


total = parseFloat(myInt1) + parseFloat(myInt2) + parseFloat(myInt3);


查看完整回答
反对 回复 2019-12-05
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

也应该能够做到这一点:


total += eval(myInt1) + eval(myInt2) + eval(myInt3);

这在不同但相似的情况下帮助了我。


查看完整回答
反对 回复 2019-12-05
  • 3 回答
  • 0 关注
  • 618 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信