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 相关文章推荐
用htc组件制作windows选项卡
Jan 13 Javascript
JavaScript中的View-Model使用介绍
Aug 11 Javascript
浅析jquery某一元素重复绑定的问题
Jan 03 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
微信小程序开发入门基础教程
Apr 19 Javascript
微信小程序图片宽100%显示并且不变形
Jun 21 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
在 Angular中 使用 Lodash 的方法
Feb 11 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 jQuery
js实现倒计时秒杀效果
Mar 25 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
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
php printf输出格式使用说明
2010/12/05 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
JavaScript 拖拉缩放效果
2008/12/10 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
jquery自定义函数的多种方法
2014/01/09 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python模拟事件触发机制详解
2018/01/19 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
Python对List中的元素排序的方法
2018/04/01 Python
python对excel文档去重及求和的实例
2018/04/18 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
一个C/C++编程面试题
2013/11/10 面试题
教师队伍管理制度
2014/01/14 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
受资助学生感谢信
2015/01/21 职场文书
Python如何配置环境变量详解
2021/05/18 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python