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 相关文章推荐
比较全的JS checkbox全选、取消全选、删除功能代码
Dec 19 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
html页面显示年月日时分秒和星期几的两种方式
Aug 20 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
Bootstrap的基本应用要点浅析
Dec 19 Javascript
Vue2.0 vue-source jsonp 跨域请求
Aug 04 Javascript
JavaScript实现创建自定义对象的常用方式总结
Jul 09 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
js实现页面导航层级指示效果
Aug 25 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
example1.php
2006/10/09 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
两个SUBMIT按钮,如何区分处理
2006/08/22 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
谈一谈javascript闭包
2016/01/28 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
flask开启多线程的具体方法
2020/08/02 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
Gap英国官网:Gap UK
2018/07/18 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
大客户销售经理职责
2013/12/04 职场文书
中专生自我鉴定
2013/12/17 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
2014年技术部工作总结
2014/12/12 职场文书
2015年安全月活动总结
2015/03/26 职场文书