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 相关文章推荐
JTrackBar水平拖动效果
Jul 15 Javascript
myFocus slide3D v1.1.0 使用方法与下载
Jan 12 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
让网页跳转到指定位置的jquery代码非书签
Sep 06 Javascript
详解JavaScript 中的 replace 方法
Jan 01 Javascript
Node.js制作简单聊天室
Jan 12 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
vue中各选项及钩子函数执行顺序详解
Aug 25 Javascript
ant-design-vue 实现表格内部字段验证功能
Dec 16 Javascript
JS实现滑动插件
Jan 15 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
May 11 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反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
javascript date格式化示例
2013/09/25 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
详解webpack模块化管理和打包工具
2018/04/21 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
Python 含参构造函数实例详解
2017/05/25 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
python3 re返回形式总结
2020/11/20 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
数据库连接池的工作原理
2012/09/26 面试题
编辑个人求职信范文
2013/09/21 职场文书
高二历史教学反思
2014/01/25 职场文书
业绩考核岗位职责
2014/02/01 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
股份合作协议书
2014/09/10 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
公司周年庆寄语
2019/06/21 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
React更新渲染原理深入分析
2022/12/24 Javascript