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 3D球状导航的文章分类
Jul 06 Javascript
node.js中的querystring.parse方法使用说明
Dec 10 Javascript
jquery实现标签上移、下移、置顶
Apr 26 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
svg动画之动态描边效果
Feb 22 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
Sep 30 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
用node.js写一个jenkins发版脚本
May 21 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
详解JavaScript原型与原型链
Nov 16 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
生成静态页面的php函数,php爱好者站推荐
2007/03/19 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php邮件发送的两种方式
2020/04/28 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
javascript判断office版本示例
2014/04/11 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
小程序实现搜索框
2020/06/19 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Django中几种重定向方法
2015/04/28 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
优秀经理事迹材料
2014/02/01 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL