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 按回车键相应按钮提交事件
Nov 02 Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 Javascript
js实现表格字段排序
Feb 19 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
Mar 04 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
Jan 18 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 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
php4的session功能评述(一)
2006/10/09 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
JS 文件传参及处理技巧分析
2010/05/13 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
python爬虫实例详解
2018/06/19 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
几个Linux面试题笔试题
2012/12/01 面试题
办公室前台岗位职责范本
2013/12/10 职场文书
生产车间标语
2014/06/11 职场文书
啦啦队口号大全
2014/06/16 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
党员反邪教心得体会
2016/01/15 职场文书
九年级历史教学反思
2016/02/19 职场文书