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的构造函数和constructor属性
Jan 09 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
js 加密压缩出现bug解决方案
Nov 25 Javascript
js仿土豆网带缩略图的焦点图片切换效果实现方法
Feb 23 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
Aug 17 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
Feb 21 Javascript
实例讲解JavaScript预编译流程
Jan 24 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 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 简单日历实现代码
2009/10/28 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
python实现简单socket通信的方法
2016/04/19 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
python构建指数平滑预测模型示例
2019/11/21 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
台湾三立电视电商平台:电电购
2019/09/09 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
大班开学家长寄语
2014/04/04 职场文书
工作岗位说明书模板
2014/05/09 职场文书
代办出身证明书
2014/10/21 职场文书
长城英文导游词
2015/01/30 职场文书
学校少先队工作总结
2015/08/12 职场文书
业余无线电通联Q语
2022/02/18 无线电