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 相关文章推荐
Display SQL Server Version Information
Jun 21 Javascript
jQuery 事件队列调整方法
Sep 18 Javascript
JS解析XML的实现代码
Nov 12 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
Jun 27 Javascript
JavaScript将字符串转换成字符编码列表的方法
Mar 19 Javascript
JS实现的自定义水平滚动字体插件完整实例
Jun 17 Javascript
js 去掉字符串前后空格实现代码集合
Mar 25 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
react 父组件与子组件之间的值传递的方法
Sep 14 Javascript
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
vue组件间的参数传递实例详解
Apr 26 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 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中处理模拟rewrite 效果
2006/12/09 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
JavaScript实现全选取消效果
2017/12/14 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
Python多线程实例教程
2014/09/06 Python
Python中的__slots__示例详解
2017/07/06 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
django的settings中设置中文支持的实现
2019/04/28 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
通过代码实例了解Python异常本质
2020/09/16 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
物控部经理职务说明书
2014/02/25 职场文书
企业读书活动总结
2014/06/30 职场文书
硕士生找工作求职信
2014/07/05 职场文书
融资合作协议书范本
2014/10/17 职场文书
教师学习心得体会范文
2016/01/21 职场文书
区域销售大会开幕词
2016/03/04 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android