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有关的小细节
Apr 02 Javascript
Google 静态地图API实现代码
Nov 19 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
javascript按位非运算符的使用方法
Nov 14 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
数据结构中的各种排序方法小结(JS实现)
Jul 23 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
微信小程序模版渲染详解
Jan 26 Javascript
何时使用Map来代替普通的JS对象
Apr 29 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP生成plist数据的方法
2015/06/16 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
文明倡议书范文
2014/04/15 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
驾驶员安全责任书
2014/07/22 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
外国人来华邀请函
2015/01/31 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
狂人日记读书笔记
2015/06/30 职场文书
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技