我在我的代码中使用这些:
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个。
答案 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)
问题可能是mult
或profit
属于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