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编程起步(第七课)
Jan 10 Javascript
浅析jquery与checkbox的checked属性的问题
Apr 27 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
div中文字内容溢出常见的解决方法
Mar 16 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 Javascript
javascript中的隐式调用
Feb 10 Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 Javascript
JS简易计算器实例讲解
Jun 30 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
Aug 27 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
node koa2 ssr项目搭建的方法步骤
Dec 11 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
javaScript对象和属性的创建方法
2007/01/15 Javascript
用js生产批量批处理执行命令
2008/07/28 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
pytorch 常用线性函数详解
2020/01/15 Python
简单了解Python write writelines区别
2020/02/27 Python
python如何爬取网页中的文字
2020/07/28 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
初三化学教学反思
2014/01/23 职场文书
2013年军训通讯稿
2014/02/05 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
2014年政协工作总结
2014/12/09 职场文书
个人党性锻炼总结
2015/03/05 职场文书
德能勤绩工作总结
2015/08/11 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
Python Socket编程详解
2021/04/25 Python
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL