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 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
jQuery LigerUI 使用教程入门篇
Jan 18 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
Aug 10 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
Centos7 中安装 Node.js v4.4.4
Nov 03 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
Feb 27 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
优雅的处理vue项目异常实战记录
Jun 05 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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实例分享之html转为rtf格式
2014/06/02 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
jquery对表单操作2
2011/04/06 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
Python urlopen 使用小示例
2008/09/06 Python
浅析Python中的for 循环
2016/06/09 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
NumPy中的维度Axis详解
2019/11/26 Python
python dumps和loads区别详解
2020/02/04 Python
Python猜数字算法题详解
2020/03/01 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
Python的两道面试题
2013/06/29 面试题
学生党员的自我评价范文
2014/03/01 职场文书
学习心理学的体会
2014/11/07 职场文书
催款通知书范文
2015/04/17 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
裁员通知
2015/04/25 职场文书
欠条样本
2015/07/03 职场文书
2016年教师节慰问信
2015/12/01 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
python实现自动清理文件夹旧文件
2021/05/10 Python
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技