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 相关文章推荐
jQuery 跨域访问问题解决方法
Dec 02 Javascript
在javascript中关于节点内容加强
Apr 11 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
node.js中的path.sep方法使用说明
Dec 08 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
js 数组 fill() 填充方法
Nov 02 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
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
python requests.post带head和body的实例
2019/01/02 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
外贸专业求职信
2014/03/09 职场文书
青年志愿者活动总结
2014/04/26 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
学校教师培训工作总结
2015/10/14 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
Python语言内置数据类型
2022/02/24 Python