Js四则运算函数代码


Posted in Javascript onJuly 21, 2012
//除法函数,用来得到精确的除法结果 
//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。 
//调用:accDiv(arg1,arg2) 
//返回值:arg1除以arg2的精确结果 
function accDiv(arg1,arg2){ 
var t1=0,t2=0,r1,r2; 
try{t1=arg1.toString().split(".")[1].length}catch(e){} 
try{t2=arg2.toString().split(".")[1].length}catch(e){} 
with(Math){ 
r1=Number(arg1.toString().replace(".","")); 
r2=Number(arg2.toString().replace(".","")); 
return (r1/r2)*pow(10,t2-t1); 
} 
} 
//给Number类型增加一个div方法,调用起来更加方便。 
Number.prototype.div = function (arg){ 
return accDiv(this, arg); 
}; 
//乘法函数,用来得到精确的乘法结果 
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。 
//调用:accMul(arg1,arg2) 
//返回值:arg1乘以arg2的精确结果 
function accMul(arg1,arg2) 
{ 
var m=0,s1=arg1.toString(),s2=arg2.toString(); 
try{m+=s1.split(".")[1].length}catch(e){} 
try{m+=s2.split(".")[1].length}catch(e){} 
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); 
} 
//给Number类型增加一个mul方法,调用起来更加方便。 
Number.prototype.mul = function (arg){ 
return accMul(arg, this); 
}; 
//加法函数,用来得到精确的加法结果 
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 
//调用:accAdd(arg1,arg2) 
//返回值:arg1加上arg2的精确结果 
function accAdd(arg1,arg2){ 
var r1,r2,m; 
try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} 
try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} 
m=Math.pow(10,Math.max(r1,r2)); 
return (arg1*m+arg2*m)/m; 
} 
//给Number类型增加一个add方法,调用起来更加方便。 
Number.prototype.add = function (arg){ 
return accAdd(arg,this); 
}; 
//减法函数 
function accSub(arg1,arg2){ 
var r1,r2,m,n; 
try{ 
r1=arg1.toString().split(".")[1].length; 
}catch(e){ 
r1=0; 
} 
try{ 
r2=arg2.toString().split(".")[1].length; 
}catch(e){ 
r2=0; 
} 
m=Math.pow(10,Math.max(r1,r2)); 
//last modify by deeka 
//动态控制精度长度 
n=(r1>=r2)?r1:r2; 
return ((arg2*m-arg1*m)/m).toFixed(n); 
} 
///给number类增加一个sub方法,调用起来更加方便 
Number.prototype.sub = function (arg){ 
return accSub(arg,this); 
};
Javascript 相关文章推荐
JavaScript 原型与继承说明
Jun 09 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 Javascript
JavaScript打字小游戏代码
Dec 26 Javascript
js和css写一个可以自动隐藏的悬浮框
Mar 05 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
Dec 18 Javascript
如何用angularjs制作一个完整的表格
Jan 21 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
vuejs手把手教你写一个完整的购物车实例代码
Jul 06 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
Sep 17 Javascript
微信小程序实现侧边栏分类
Oct 21 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
Jul 21 #Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 #Javascript
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 #Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 #Javascript
基于jquery的可多选的下拉列表框
Jul 20 #Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
Jul 20 #Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 #Javascript
You might like
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
详解参数传递四种形式
2015/07/21 Javascript
简单的分页代码js实现
2016/05/17 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
python实现的各种排序算法代码
2013/03/04 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
深入浅析python继承问题
2016/05/29 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
python识别验证码的思路及解决方案
2020/09/13 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
办公室文秘自我评价
2013/09/21 职场文书
银行优秀员工事迹
2014/02/06 职场文书
超市国庆节促销方案
2014/02/20 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
看古人们是如何赞美老师的?
2019/07/08 职场文书