请问JavaScript中如何处理数字和字符串相乘的情况?

 我来答
琐酱7993
推荐于2017-12-16
知道答主
回答量:5
采纳率:0%
帮助的人:7.4万
展开全部
首先要知道数字和字符串是不能相乘的,如:
var m = 3;
var n = “b”;
console.log(m * n); //这里相等的结果是NaN,表示得到的不是一个数值(Not a Number)

但我们可以将数值字符串转换后进行相乘或其它算术运算。如:
var a = “2”;
var b = 3
var num = Number(a); //将字符串转换成数值
if ( isNaN( num)) { //转换可能失败,如a不是数字值的情况。
console.log('a非数字值');
}
else { //转换成功就可以进行算术运算了。
console.log(a*b);
}
简单说,要让数字和字符串相乘,就用Number函数将字符串转换成数值,然后再执行运算。这些都是比较基础的知识,建议你可以在秒秒学的JavaScript课程上夯实下基础。
ee1001100
2016-09-02 · TA获得超过202个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:52.8万
展开全部
var str = "123";
var a = 3;
var x = a*parseInt(str);
js中有隐式的类型转换,但是隐式类型转换对于一些后台选手来说可能感觉不能保证正确性,所以可以通过parseInt()方法来进行显示类型转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
imatree
2016-09-02 · TA获得超过225个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:142万
展开全部
先把字符窜转成数字,再相乘。
var strNum1 = "12.56", strNum2 = "123456"

parseFloat(strNum1) //转换为浮点数
parseInt(strNum2) //整数
+strNum2 //整数

注意非法的字符窜转数字,会返回 NaN。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神秘的白手c
2019-09-21
知道答主
回答量:2
采纳率:0%
帮助的人:1350
展开全部
字符串和数字类型一定条件下可以相乘,存在隐式转换,例如:a=1,b="2", a*b结果是2 类型是数字类型 如果是a=1,b="ab",a*b结果是NaN 非数字值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小m菌
2016-09-02 · 超过29用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:37.5万
展开全部
数字和字符串无法相乘,应该在运算前对其进行判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式