为了账号安全,请及时绑定邮箱和手机立即绑定

使用 process.argv 求和的 Javascript 问题

使用 process.argv 求和的 Javascript 问题

繁星coding 2023-08-24 15:36:18
我正在尝试用js进行简单的操作。这是我的代码:var propriedade = process.argv[2]; var a = process.argv[3]; var b = process.argv[4];var result = 0;switch(propriedade) {  case "sum":    result = a + b;    break;  case "minus":    result = a - b;    break;} console.log(result);在终端中,结果不是总和。怎么了?
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

下次请解释一下你得到的结果。


事实上,当您使用 时process.argv[i],您得到的结果是一个字符串:


console.log(

  {

      typeA: typeof a,

      typeB: typeof b

  }

);

输出


{

   typeA: 'string',

   typeB: 'string'

}

如您所知,String + String是连接,因此如果您传递“12”和“45”示例,它将返回“1245”而不是 57。


为此,您应该使用以下方法将字符串转换为数字(适用于整数或浮点数):


let a = Number(process.argv[3]);

let b = Number(process.argv[4]);

现在效果很好!!!


[编辑]


在 javascript 中,如果您使用“*”、“/”或“-”等运算符(“+”除外),则字符串将转换为数字。


let a = "5";

let b = "2"; 

console.log({

    sum: a + b,

    minus: a - b,

    multiplication: a * b,

    devide: a / b

});

//OUTPUT: { sum: '52', minus: 3, multiplication: 10, devide: 2.5 }


查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信