我正在使用node.js,并且我正在尝试添加两个整数,但是,它们只是将它们放在一起...我查找了Float,试图使整数浮动,但是node.js 无法识别float .
问问题
28783 次
6 回答
11
显然,两者中至少有一个实际上是一个包含数字的字符串。V8 然后进行字符串连接而不是添加数字。
您需要做的是将字符串转换为实数。你可以使用parseInt()
orparseFloat()
函数来做到这一点,但更快的方法是减法0
:由于不可能从字符串中减法,V8 尝试将字符串的内容视为数字。
最后你也会得到一个数字,但 AFAIK 这种方法比使用解析函数更快。
例子:
var foo = '23';
typeof (foo - 0); // => 'number'
var a = '23',
b = '42';
console.log((a - 0) + (b - 0)); // 65
于 2013-01-01T06:15:31.010 回答
7
最好的方法是在执行任何操作之前进行转换,例如:
var result = Number(x1) + Number(x2) - Number(x3)
于 2015-04-03T06:44:53.063 回答
3
在我的 node.js 中,我这样做了。
这是 html 文件:index.html
<form action="/submission" method="POST">
First Number: <input name = "firstNumber" type="number" /> <br>
Second Number: <input name = "lastNumber" type="number" /> <br>
<input type="submit"/>
</form>
这是 node.js 文件:node.js
现在,当你这样做时,你也想先调用它,这样你就可以在本地主机上启动它,不管它是什么。你可以做出这样的选择。
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:false}));
现在我从我的终端 ^ 那里安装了正文解析器,它将在下面的 app.post 语句中使用。
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html'); //Gets the html
});
app.post('/submission', function(req, res) {
var first = parseInt(req.body.firstNumber);
var second = parseInt(req.body.lastNumber);
var sum = Number(first + second);
res.send('The sum is: ' + Number(sum));
});
然后不要忘记在本地主机的终端上运行您的文件。快乐编码!
于 2020-12-11T03:34:54.830 回答
1
我也有同样的问题,但解决方案很简单......这是因为字符串数据类型
var variable_name="1"; // String Type
console.log(parseInt(variable_name)+1);
于 2016-06-04T12:04:58.647 回答
0
**Add this to index.html file**
<form action="http://localhost:3000/sum" method="GET">
<input id = "one" type="number" name="first" value="">
<input id = "two" type="number" name="sec" value="">
<input type="submit" value="OK">
</form>
**Add this to javascript file**
const express = require('express');
const app = express();
app.get('/sum',function(req,res){
var a=Number(req.query.first);
var b=Number(req.query.sec);
var c;
c=a+b;
response = {
result: c
};
console.log(response);
res.end(JSON.stringify(response));
}
);
然后使用 node.js 运行文件
于 2020-01-21T06:51:22.243 回答
-1
有一点延迟,但加起来可以减去负值,所以
var result = a+b; //Strings appending
变成
var result = a--b; //Integer a-(-b) --> a+b
于 2015-02-22T21:42:56.470 回答