JavaScript是连接而不是添加

时间:2017-09-06 18:34:18

标签: javascript jquery

我在我的代码中使用这些:

setInterval(function(){
    canvas.width = 360;
    canvas.height = 640;
    createMenu();
}, 1000 / fps);

我也试过alert(mult); //1.114 alert(profit); //10 price = (mult * profit) + profit; alert(price); //11.14 should be 21.14 ,但结果相同。它不是price = ((mult*profit) + profit);而是(1.114*10) + 10;。它最后没有添加额外的10个。

4 个答案:

答案 0 :(得分:3)

这样对我来说很好。似乎连接不是问题,因为否则值将是'11 .1410'。

var mult = 1.114;
var profit = 10;
var price = (mult*profit) + profit;
alert(price);//11.14 should be 21.14

如果profit变量(或两个变量)都是字符串,则结果为“11.1410”。

var mult = 1.114;
    var profit = '10';
    var price = (mult*profit) + profit;
    alert(price);//11.1410

如果mult值只是一个字符串,结果似乎不受影响。

 var mult = '1.114';
        var profit = 10;
        var price = (mult*profit) + profit;
        alert(price);//21.14

答案 1 :(得分:1)

问题可能是multprofit属于string类型而非类型number。这可以通过显式转换来修复。

您可以使用typeof关键字在浏览器控制台(即开发工具)中确定变量的类型,如下所示:

typeof foo

如果您的任何一个变量属于string类型,则可以使用parseFloat将其转换为number

mult = parseFloat(mult);

答案 2 :(得分:1)

变量可能是字符串,使用parseFloat将它们转换为数字:

mult = parseFloat(mult);
profit = parseFloat(profit);
price = (mult*profit) + profit

答案 3 :(得分:0)

我刚刚在chrome js console SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name; 键中运行了它。

F12

得到了这些结果

var mult = 1.114, profit = 10;
console.log('mult=', mult);//1.114
console.log('profit=', profit);//10
price = (mult*profit) + profit;
console.log('price=', price);//11.14 should be 21.14