加法在ExpressJs中无法正常工作,减法工作正常
问题描述:
我在做一个NodeJs项目。我面对这个problem.Subtraction工作正常,但除了创造该问题.................加法在ExpressJs中无法正常工作,减法工作正常
var previous_stock=results[0]['remain_stock']; //suppose value is 123
var products_qty=request.body.products_qty; //suppose valut is 7
var update_data={
remain_stock:previous_stock-products_qty, //output is 116
}
var update_data2={
remain_stock:previous_stock+products_qty, //output is 1237
}
如何解决这个问题?
答
在String
上使用时,即使String
只包含数字,+
运算符也会连接在一起。假设你所有的字符串值都是以10为底的,则将它们包装在parseInt(string, 10)
中。请注意,如果它是String
,则还应该对products_qty
执行此操作。
var previous_stock = results[0].remain_stock
var products_qty = request.body.products_qty
var update_data = {
remain_stock: parseInt(previous_stock, 10) - products_qty
}
var update_data2 = {
remain_stock: parseInt(previous_stock, 10) + products_qty
}
+0
谢谢....但为什么减法工作正常 –
+0
因为减法运算符没有定义,所以你的'String'被强制为'Number'。这对性能和稳定性不利,您应该通过使用您打算使用的实际类型来避免强制。 –
在两个变量上使用parseInt来显式地键入转换。 –