涉及公式计算时的取巧办法
2011-06-14 10:58
232 查看
项目的开发过程中,经常会碰到根据公式计算某值的场景,例如:
指标A:公式为((a+b)/c-d)*100%
指标B:公式为(a-b/c)*100%
指标C:公式为(a-c)*b-1
其中a、b、c、d为业务数据
通常这种情况,如果放到java或者js中进行计算的话,方法或者函数的传入参数必然是包括公式和因子
方法体中不可避免的要进行公式的解析和因子的代入替换,这是一项非常复杂的工作
其实,我们完全可以根据数据库SQL的特性来进行处理
如下图:
将ABCD等因子的值插入到表中,公式也插入到表中
计算结果:SELECT ((a+b)/c-d)*100% FROM 表X WHERE 指标=指标A
这样,可以将公式的计算交给数据库的后台进行,而避过公式解析和代入的复杂过程
指标A:公式为((a+b)/c-d)*100%
指标B:公式为(a-b/c)*100%
指标C:公式为(a-c)*b-1
其中a、b、c、d为业务数据
通常这种情况,如果放到java或者js中进行计算的话,方法或者函数的传入参数必然是包括公式和因子
方法体中不可避免的要进行公式的解析和因子的代入替换,这是一项非常复杂的工作
其实,我们完全可以根据数据库SQL的特性来进行处理
如下图:
指标 | A | B | C | D | 公式 | 结果 |
指标A | 10 | 43 | 21 | 55 | ((a+b)/c-d)*100% | |
指标B | 26 | 23 | 33 | 27 | (a-b/c)*100% | |
指标C | 17 | 19 | 35 | 22 | (a-c)*b-1 |
计算结果:SELECT ((a+b)/c-d)*100% FROM 表X WHERE 指标=指标A
这样,可以将公式的计算交给数据库的后台进行,而避过公式解析和代入的复杂过程
相关文章推荐
- 公式不计算等几种常见问题的解决办法
- 涉及的物理、数学公式及计算过程
- 使用poi更新excel,有公式的cell不计算的解决办法
- 涉及二叉树节点个数计算的方法:推导得公式O(1) 或者递推O(logn)
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】
- 计算公式封装
- 输入n值,并利用下列格里高里公式计算并输出圆周率
- openlayer读取三种类型的本地瓦片的计算公式
- 下面是性能测试的主要概念和计算公式
- 卷基层和池化层输出大小计算公式
- 基姆拉尔森公式计算周几的C语言实现方法
- 『机器学习』机器学习中涉及到的数学公式
- 色温计算公式.docx
- 用公式计算出你的幸福
- POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)
- 黑月:常用的一个计算时间复杂度的公式!
- 视频带宽计算公式(码流_分辨率_帧率)
- 我的基金第三境界 基金定投收益计算公式
- QPS、PV和需要部署机器数量计算公式