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 相关文章推荐
验证码按回车不变解决方法
Mar 29 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
如何减少浏览器的reflow和repaint
Feb 26 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
js实现文字向上轮播功能
Jan 13 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
Mar 25 jQuery
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
使用D3.js构建实时图形的示例代码
Aug 28 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
angularJS1 url中携带参数的获取方法
Oct 09 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 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
php中实现可以返回多个值的函数实例
2015/03/21 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
Python利用命名空间解析XML文档
2020/08/10 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
eBay奥地利站:eBay.at
2019/07/24 全球购物
院药学专业个人求职信
2013/09/21 职场文书
最新计算机专业自荐信
2013/10/16 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
美德好少年事迹材料
2014/01/19 职场文书
担保书怎么写
2014/04/01 职场文书
大学生个人求职信
2014/06/02 职场文书
社区国庆节活动总结
2015/03/23 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
Django一小时写出账号密码管理系统
2021/04/29 Python