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 异步调用框架 (Part 4 - 链式调用)
Aug 04 Javascript
js函数参数设置默认值的一种变通实现方法
May 26 Javascript
jQuery实现下拉框功能实例代码
May 06 Javascript
AngularJS学习笔记之依赖注入详解
May 16 Javascript
Angular2 (RC4) 路由与导航详解
Sep 21 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
JS原型继承四步曲及原型继承图一览
Nov 28 Javascript
详解在React里使用"Vuex"
Apr 02 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 Javascript
基于Vue CSR的微前端实现方案实践
May 27 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读取MySQL数据代码
2008/06/05 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
node.js获取参数的常用方法(总结)
2017/05/29 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
django框架cookie和session用法实例详解
2019/12/10 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
美国健康和保健平台:healtop
2020/07/02 全球购物
科室工作个人总结的自我评价
2013/10/29 职场文书
实习生自我评价
2014/01/18 职场文书
找工作求职信
2014/07/07 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
用Java实现简单计算器功能
2021/07/21 Java/Android
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技