javascript 四则运算精度修正函数代码


Posted in Javascript onMay 31, 2010

函数代码如下:

/* 
* 四则运算精度修正函数 
* m 数值1(number) 
* n 数值2(number) 
* op 操作符(string) 
*/ 
function fixMath(m, n, op) { 
var a = (m+ " "); 
var b = (n+ " "); 
var x = 1; 
var y = 1; 
var c = 1; 
if(a.indexOf( ". ")> 0) { 
x = Math.pow(10, a.length - a.indexOf( ". ") - 1); 
} 
if(b.indexOf( ". ")> 0) { 
y = Math.pow(10, b.length - b.indexOf( ". ") - 1); 
} 
switch(op) 
{ 
case '+ ': 
case '- ': 
c = Math.max(x,y); 
m = Math.round(m*c); 
n = Math.round(n*c); 
break; 
case '* ': 
c = x*y 
m = Math.round(m*x); 
n = Math.round(n*y); 
break; 
case '/ ': 
c = Math.max(x,y); 
m = Math.round(m*c); 
n = Math.round(n*c); 
c = 1; 
break; 
} 
return eval( "( "+m+op+n+ ")/ "+c); 
}

函数用法如下:

fixMath(2.3, 1.9, '* ') 
fixMath(1.98, 1.9, '- ') 
fixMath(83.50, 74.15, '- ')
Javascript 相关文章推荐
用JS写的一个TableView控件代码
Jan 23 Javascript
读jQuery之九 一些瑕疵说明
Jun 21 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
Feb 13 Javascript
EasyUI中datagrid在ie下reload失败解决方案
Mar 09 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
详解mpvue开发小程序小总结
Jul 25 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
通过图带你深入了解vue的响应式原理
Jun 21 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
ASP 过滤数组重复数据函数(加强版)
May 31 #Javascript
javascript 子窗体父窗体相互传值方法
May 31 #Javascript
js post方式传递提交的实现代码
May 31 #Javascript
JS 类型转换常见方法小结
May 31 #Javascript
javascript 传统事件模型构造的事件监听器实现代码
May 31 #Javascript
LazyLoad 延迟加载(按需加载)
May 31 #Javascript
基于jquery的气泡提示效果
May 31 #Javascript
You might like
PHP无敌近乎加密方式!
2010/07/17 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
PHP自定义错误用法示例
2016/09/28 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python中max函数用法实例分析
2015/07/17 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
医学毕业生自荐信
2013/10/11 职场文书
学校消防演习方案
2014/02/19 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
先进党组织事迹材料
2014/12/26 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL