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读取本地excel文档数据的代码
Nov 11 Javascript
初识JQuery 实例一(first)
Mar 16 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
Aug 02 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
Oct 26 Javascript
jQuery排序插件tableSorter使用方法
Feb 10 Javascript
jQuery回调方法使用示例
Jun 26 jQuery
解决vue router组件状态刷新消失的问题
Aug 01 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
PHP Try-catch 语句使用技巧
2016/02/28 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
六个窍门助你提高Python运行效率
2015/06/09 Python
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
玩转python爬虫之正则表达式
2016/02/17 Python
python实时监控cpu小工具
2018/06/21 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
python实现石头剪刀布程序
2021/01/20 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
wxPython实现画图板
2020/08/27 Python
Python flask框架端口失效解决方案
2020/06/04 Python
怎样有效的进行自我评价
2013/10/06 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
迟到检讨书400字
2014/01/13 职场文书
给校长的建议书
2014/03/12 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书