js 如何实现加法?

functiontest2(){vara=prompt("输入第一个数","");varb=prompt("输入第二个数","");varc=a+b;alert(c);}... function test2()
{
var a = prompt("输入第一个数","");

var b = prompt("输入第二个数","");

var c = a + b;
alert(c);
}

分别输入1和2 以后 结果不是3 而是12
这是怎么会使阿?
展开
 我来答
兔丞飞
高粉答主

2018-12-07 · 专注娱乐 专注娱乐 专注娱乐
兔丞飞
采纳数:25 获赞数:19893

向TA提问 私信TA
展开全部

/**

** 加法函数,用来得到精确的加法结果

** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。

** 调用:accAdd(arg1,arg2)


** 返回值:arg1加上arg2的精确结果

**/function accAdd(arg1, arg2) {    var r1, r2, m, c;    try {

r1 = arg1.toString().split(".")[1].length;

}    catch (e) {

r1 = 0;

}    try {

r2 = arg2.toString().split(".")[1].length;

}    catch (e) {

r2 = 0;

}

c = Math.abs(r1 - r2);

m = Math.pow(10, Math.max(r1, r2));    

if (c > 0) {        var cm = Math.pow(10, c);        if (r1 > r2) {

arg1 = Number(arg1.toString().replace(".", ""));

arg2 = Number(arg2.toString().replace(".", "")) * cm;

} else {

arg1 = Number(arg1.toString().replace(".", "")) * cm;

arg2 = Number(arg2.toString().replace(".", ""));

}

} else {

arg1 = Number(arg1.toString().replace(".", ""));

arg2 = Number(arg2.toString().replace(".", ""));

}    return (arg1 + arg2) / m;

}//给Number类型增加一个add方法,调用起来更加方便。

Number.prototype.add = function 

(arg) {    return accAdd(arg, this);

};

扩展资料

var a = 1, 
var b = 2, 
var c = a + b 
这样c得出来的解果是12,

使用Number()函数可以解决这个问题,如下 
var c = Number(a) + Number(b) 
这样c得出来的解果是3,

JavaScript Number() 函数对象的值转换为数字。

<script type="text/javascript">

var test1= new Boolean(true);

var test2= new Boolean(false);

var test3= new Date();

var test4= new String("999");

var test5= new String("999 888");

document.write(Number(test1)+ "<br />");

document.write(Number(test2)+ "<br />");

document.write(Number(test3)+ "<br />");

document.write(Number(test4)+ "<br />");

document.write(Number(test5)+ "<br />");</script>



大野瘦子
高粉答主

2018-12-10 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.4万
展开全部

js中加法运算有:

1、输入的是字符串, 字符串的连接符也是加号, 最后就按字符串运算了,所以先转换成数值型。

整数:c=parseInt(a)+parseInt(b)

浮点数:c =parseFloat(a)+parseFloat(b)

2、evel:可计算某个字符串,并执行其中的的 JavaScript 代码。

evel(a+b)

例如:

var a = 1, 

var b = 2, 

var c = a + b 

这样c得出来的解果是12,

使用Number()函数可以解决这个问题,如下 

var c = Number(a) + Number(b) 

这样c得出来的解果是3。

扩展资料:

Javascript中加法运算符总结

1、String+String

var a = '10',

b = '20';

console.log(a+b);  //1020

2、String+Object

var a = '10',

b = {_key:20};

console.log(a+b);  //10[object Object]

//Object.prototype.toString()方法返回一个表示该对象的字符串。

3、String+Number

var a = '10',

b = 20;

console.log(a+b);  //1020

var a = 10,

b = '20';

console.log(a+b);  //1020

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汤圆好甜cP
2018-12-23 · TA获得超过1.7万个赞
知道答主
回答量:13
采纳率:6%
帮助的人:4950
展开全部

js中加法运算有:

1、输入的是字符串, 字符串的连接符也是加号, 最后就按字符串运算了,所以先转换成数值型。

整数:c=parseInt(a)+parseInt(b)

浮点数:c =parseFloat(a)+parseFloat(b)

2、evel:可计算某个字符串,并执行其中的的 JavaScript 代码。

evel(a+b)

例如:

var a = 1, 

var b = 2, 

var c = a + b ,

这样c得出来的解果是12。

使用Number()函数可以解决这个问题,如下 :

var c = Number(a) + Number(b) 

这样c得出来的解果是3。

扩展资料

Javascript中加法运算符总结:

1、String+String

var a = '10',

b = '20';

console.log(a+b);  //1020

2、String+Object

var a = '10',

b = {_key:20};

console.log(a+b);  //10[object Object]

//Object.prototype.toString()方法返回一个表示该对象的字符串。

3、String+Number

var a = '10',

b = 20;

console.log(a+b);  //1020

var a = 10,

b = '20';

console.log(a+b);  //1020

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏日绝2333
高粉答主

2018-05-19 · 欢迎喜欢文化的伙伴一起交流
夏日绝2333
采纳数:882 获赞数:63285

向TA提问 私信TA
展开全部
输入的是字符串, 字符串的连接符也是加号, 所以就按字符串运算, 变成12了。
可以先转换成数值型, 比如整数:
c=parseInt(a)+parseInt(b)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0da94d5
2015-08-13 · TA获得超过466个赞
知道小有建树答主
回答量:498
采纳率:100%
帮助的人:213万
展开全部
1:首先JS是一种弱语言,但是同类型可以自己相加减

例如“a”+"b" 可以自动组成ab ; 1+ 2 自动变成3
2:不同类型的字符 我们先转换例如 “1”+2 ; parsInt("1")+2 可以实现加法3
3:利用eval 表达式进行实现
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式