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
node.js中的fs.readFile方法使用说明
Dec 15 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
JavaScript代码里的判断小结
Aug 22 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
JavaScript微信定位功能实现方法
Nov 29 Javascript
手机端js和html5刮刮卡效果
Sep 29 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
查找页面中所有类为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
提问的智慧(2)
2006/10/09 PHP
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python中元组的用法整理
2020/06/15 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
优秀学生获奖感言
2014/02/15 职场文书
公司股东合作协议书
2014/09/14 职场文书
团组织推荐意见
2015/06/05 职场文书
八年级作文之感恩
2019/11/22 职场文书
redis 查看所有的key方式
2021/05/07 Redis
oracle通过存储过程上传list保存功能
2021/05/12 Oracle