大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
做了一个简易的计算器。
成都创新互联公司是专业的仁布网站建设公司,仁布接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行仁布网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
但是JavaScript运算加减法是存在自身的问题,简易自己编写运算的插件,
或是用网络提供的。
script
window.onload=function (){
var oText1=document.getElementById('txt1');
var oText2=document.getElementById('txt2');
var oSel=document.getElementById('sel1');
var oBtn=document.getElementById('btn');
oBtn.onclick=function (){
var n1=parseFloat(oText1.value);
var n2=parseFloat(oText2.value);
var a=oSel.value;
'12+5'
var res=0;
switch (a)
{
case '+':
res=n1+n2;
break;
case '-':
res=n1-n2;
break;
case '*':
res=n1*n2;
break;
case '/':
res=n1/n2;
break;
}
alert(res);
};
};
/script
/head
body
input type="text" id="txt1" /
select id="sel1"
option value="+"+/option
option value="-"-/option
option value="*"*/option
option value="/"//option
/select
input type="text" id="txt2" /
input type="button" value="计算" id="btn" /
/body
不用的,$("#button_num").val()会自动转化成number类型的
$("#button_num").val()-1就可以了
但是做加法就不同了
如果运算中有一个是字符串,就会按字符串拼接运算,但是1是不需要转型的
parseInt($("#button_num").val())+1就可以
希望采纳
一直知道js的浮点数计算是不精确的, 0.1 + 0.2 !== 0.3,但是也就知道而已,解决方法却不怎么注意,所以刚做一个项目,尽管了解浮点数精度不精确的问题,但是还是掉坑里了。在此再次默默告诉自己要警惕,端正心态,不可掉以轻心!!!所以下面就分享一些加减乘除的方法。
原理: 把数字转换成字符串,然后从小数点部分切割成两部分,分别算出两个因数的小数点右边的长度,然后用两个因数的小数点右边长度最大的数再乘以10,相当于两个都放大了n倍,然后相加,然后缩小n倍。
注意,这里的放大用了乘法times函数(下面介绍),因为浮点数直接乘以100有可能出现精度不够的情况,如下图
原理和加法一样,放大n倍后相减再缩小n倍
乘法原理稍微变点,放大倍数n是 ‘两个小数点后面长度之和’ 而不是 ‘两个小数点后面长度这两者之间的最大值’
除法原理和乘法一样
这也是一个坑,比如你要保留两位小数,四舍五入的话就要看小数点第三位后面的数字来决定,如2.445四舍五入后就是2.45; 2.444四舍五入就是2.44;做这个需求的时候,我第一反应是Math.toFixed(2),结果是bug百出啊,这里就不举例了,有兴趣可以自己尝试。然后我是怎么解决的呢?百度了一下,也是得到一些半成品不严谨的函数,原理也很简单,先放大倍数,然后利用Math.round()取整
以上加减乘除方法基本满足一般业务需求了,尤其是电商。但是如果数字计算时超出了 2的1024次方减1 ,也就是 9007199254740992 这个数字的话就不适合了,因为从 2^1024 开始就变成了 Infinity。
方法只有一种:
直接使用减号运算符进行减法运算
举例:
var a=2;
var b=1;
var c=a-b;//这里通过减号运算符进行减法运算
使用加减乘除的运算符即可 + - * /
例如:
var a=2;b=6;
var c;
c=a+b; //c的结果为8
c=b-a; //c的结果为4
c=a*b; //c的结果为12
c=b/a; //c的结果为3
这个是最简单的加减乘除
如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var m=d.getMonth()+1;
return d.getFullYear()+'-'+m+'-'+d.getDate();
}
其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。