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 相关文章推荐
学习jquery必备 api中英文对照的chm手册 下载
May 03 Javascript
Javascript继承机制的设计思想分享
Aug 28 Javascript
javascript基本类型详解
Nov 28 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
Feb 16 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
vue cli使用绝对路径引用图片问题的解决
Dec 06 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
详解Vue中的自定义指令
Dec 07 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
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
python名片管理系统开发
2020/06/18 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
德国baby-markt婴儿用品瑞士网站:baby-markt.ch
2017/06/09 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
制药工程专业应届生求职信
2013/09/24 职场文书
工程管理专业个人求职信范文
2013/12/07 职场文书
酒吧创业计划书
2014/01/18 职场文书
大二自我鉴定
2014/01/31 职场文书
人事部专员岗位职责
2014/03/04 职场文书
优秀公益广告词大全
2014/03/19 职场文书
企业挂职心得体会
2014/09/10 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
Python如何识别银行卡卡号?
2021/06/10 Python