js中精确计算加法和减法示例


Posted in Javascript onMarch 28, 2014

/精确计算加法和减法。例如0.1+0.2=0.3或 0.1-0.2=-0.1

function addFn(dataOne,dataTwo){ var dataOneInt=dataOne.toString().split(".")[0]; 
var dataOneFloat=""; 
var dataTwoInt=dataTwo.toString().split(".")[0]; 
var dataTwoFloat=""; 
var lengthOne=0; 
var lengthTwo=0; 
var maxlength=0; 
if(dataOne.toString().split(".").length==2){ 
dataOneFloat=dataOne.toString().split(".")[1]; 
lengthOne=dataOneFloat.toString().length; 
} 
if(dataTwo.toString().split(".").length==2){ 
dataTwoFloat=dataTwo.toString().split(".")[1]; 
lengthTwo=dataTwoFloat.toString().length; 
} 
maxLength=Math.max(lengthOne,lengthTwo); 
for(var i=0;i<maxLength-lengthOne;i++){ 
dataOneFloat+="0"; 
} 
for(var i=0;i<maxLength-lengthTwo;i++){ 
dataTwoFloat+="0"; 
} 
/** 
*对两个数据进行倍数放大 
*使其都变为整数。因为整数计算 
*比较精确。 
*/ 
var one=dataOneInt+""+dataOneFloat; 
var two=dataTwoInt+""+dataTwoFloat; 
//alert("dataOne:"+dataOne+" dataTwo:"+dataTwo +" one:"+one+" two:"+two); 
/** 
*数据扩大倍数后,经计算的到结果, 
*然后在缩小相同的倍数 
*进而得到正确的结果 
*/ 
var result= (Number(one)+Number(two))/Math.pow(10,maxLength); 
return result; 
}
Javascript 相关文章推荐
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
Jun 18 Javascript
用jquery实现点击栏目背景色改变
Dec 10 Javascript
JavaScript实现点击按钮就复制当前网址
Dec 14 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
JS验证字符串功能
Feb 22 Javascript
JavaScript中严格判断NaN的方法
Feb 16 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
Puppet的一些技巧
Sep 17 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
Jan 21 Javascript
javascript绘制简单钟表效果
Apr 07 Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 Javascript
查找页面中所有类为test的结点的方法
Mar 28 #Javascript
js 验证身份证信息有效性
Mar 28 #Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 #Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 #Javascript
jquery选择符快速提取web表单数据示例
Mar 27 #Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 #Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 #Javascript
You might like
推荐一篇入门级的Class文章
2007/03/19 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
python处理大数字的方法
2015/05/27 Python
python 基础教程之Map使用方法
2017/01/17 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
Python中qutip用法示例详解
2020/10/02 Python
Python中常用的os操作汇总
2020/11/05 Python
毕业生的自我评价
2013/12/30 职场文书
服装创业计划书范文
2014/02/05 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
2014年体育工作总结
2014/11/24 职场文书
2014年法务工作总结
2014/12/11 职场文书