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 相关文章推荐
jQuery 表格插件整理
Apr 27 Javascript
基于js实现投票的实例代码
Aug 04 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
Jan 13 Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
vue实现Input输入框模糊查询方法
Jan 29 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
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
农民C键的运用技巧
2020/03/04 星际争霸
1 Tube Radio
2021/03/02 无线电
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
python下载微信公众号相关文章
2019/02/26 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
介绍一下Make? 为什么使用make
2013/12/08 面试题
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
Python操作CSV格式文件的方法大全
2021/07/15 Python