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 相关文章推荐
Hutia 的 JS 代码集
Oct 24 Javascript
jQuery.Validate验证库的使用介绍
Apr 26 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
Dec 02 Javascript
jQuery基于扩展简单实现倒计时功能的方法
May 14 Javascript
JavaScript提升性能的常用技巧总结【经典】
Jun 20 Javascript
js实现表格筛选功能
Jan 18 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
js中数组对象去重的两种方法
Jan 18 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
JS前端使用Canvas快速实现手势解锁特效
Sep 23 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
set_include_path在win和linux下的区别
2008/01/10 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php封装的page分页类完整实例
2016/10/18 PHP
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python 类详解及简单实例
2017/03/24 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
python实现电子词典
2020/03/03 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
python实现马丁策略的实例详解
2021/01/15 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
项目经理任命书
2014/06/04 职场文书
海底两万里读书笔记
2015/06/26 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
pandas数值排序的实现实例
2021/07/25 Python
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android