Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么process.stdout.write()会向平方结果添加额外的0?_Javascript - Fatal编程技术网

Javascript 为什么process.stdout.write()会向平方结果添加额外的0?

Javascript 为什么process.stdout.write()会向平方结果添加额外的0?,javascript,Javascript,我只是尝试通过使用process.stdin传入一个数字,然后使用process.stdout.write来对一个数字进行平方运算 我第一次尝试这样做: process.stdin.resume(); process.stdin.setEncoding('utf8'); var stdin = ''; process.stdin.on('data', function (chunk) { stdin += chunk; }).on('end', function() { var

我只是尝试通过使用process.stdin传入一个数字,然后使用process.stdout.write来对一个数字进行平方运算

我第一次尝试这样做:

process.stdin.resume();
process.stdin.setEncoding('utf8');

var stdin = '';
process.stdin.on('data', function (chunk) {
    stdin += chunk;
}).on('end', function() {
    var lines = stdin.split('\n');
    for(var i=0; i<lines.length; i++) {
        let num = Number(lines[i])
        let sqrd = num*num
        process.stdout.write(sqrd);
    }
});
我希望如果我传递一个值5,它将返回25,但在实际操作中,它返回250。为什么会这样

有没有更好的方法返回结果

编辑:我已尝试查找返回值的类型:

process.stdin.resume();
process.stdin.setEncoding('utf8');

var stdin = '';
process.stdin.on('data', function (chunk) {
    stdin += chunk;
}).on('end', function() {
    var lines = stdin.split('\n');
    for(var i=0; i<lines.length; i++) {
        let sqrd = lines[i]*lines[i]
        process.stdout.write(typeof(sqrd));
    }
});
process.stdin.resume();
process.stdin.setEncoding('utf8');
var stdin='';
process.stdin.on('data',函数(块){
stdin+=chunk;
}).on('end',function(){
变量行=标准分割('\n');

对于(var i=0;i第二次迭代是由行数组中剩余的新行(\n)字符引起的。不要迭代最后一个元素。若要修复此问题,请执行以下操作:

更改:


for(var i=0;i可能由于您的
stdin
5
之后遇到一个
0
,当两者均为平方时,输出为
250
@rv7,因此我不确定如何遇到一个正整数。。。
process.stdin.resume();
process.stdin.setEncoding('utf8');

var stdin = '';
process.stdin.on('data', function (chunk) {
    stdin += chunk;
}).on('end', function() {
    var lines = stdin.split('\n');
    for(var i=0; i<lines.length; i++) {
        let sqrd = lines[i]*lines[i]
        process.stdout.write(typeof(sqrd));
    }
});