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控制上传文件的大小
Oct 26 Javascript
URL地址中的#符号使用说明
Feb 12 Javascript
JS中判断JSON数据是否存在某字段的方法
Mar 07 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
Jul 14 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
iframe高度自适应及隐藏滚动条的实例详解
Sep 29 Javascript
AngularJS select加载数据选中默认值的方法
Feb 28 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
Sep 29 Javascript
浅谈vue的第一个commit分析
Jun 08 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
php 结果集的分页实现代码
2009/03/10 PHP
解析php中const与define的应用区别
2013/06/18 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
python动态监控日志内容的示例
2014/02/16 Python
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python实现维吉尼亚加密法
2019/03/20 Python
pywinauto自动化操作记事本
2019/08/26 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
django有哪些好处和优点
2020/09/01 Python
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
SQL中where和having的区别
2012/06/17 面试题
为什么要用EJB
2014/04/17 面试题
四个太阳教学反思
2014/02/01 职场文书
大学毕业感言一句话
2014/02/06 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
工会积极分子个人总结
2015/03/03 职场文书
毕业典礼致辞
2015/07/29 职场文书
领导离职感言
2015/08/03 职场文书
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis