ncv5-公式技术红皮书

ncv5-公式技术红皮书

ID:22583618

大小:388.86 KB

页数:31页

时间:2018-10-30

ncv5-公式技术红皮书_第1页
ncv5-公式技术红皮书_第2页
ncv5-公式技术红皮书_第3页
ncv5-公式技术红皮书_第4页
ncv5-公式技术红皮书_第5页
资源描述:

《ncv5-公式技术红皮书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、公式解析器使用指南第一章新版公式使用手册21.1公式主要功能21.2公式的基本使用方法31.3数值型计算结果小数位的控制61.4自定义变量的使用71.5如何从公式中提取变S91.6空值””,NULL值及Zero值的处理101.7如何进行列操作111.8利用定义函数扩展公式功能121.9外接函数的使用131.10(5.02new)配置装载自定义函数131.11运算符重载141.12公式简单调试16附录:公式解析器内置公式列表183.1数学运算函数183.2条件判断函数213.3数据庠查询函数233.4字符串相关函数243.5日期函数253.6类型转换函数253.7

2、货H3金额函数263.8多语言翻译函数283.9其他函数293.105.02新增函数29第一章新版公式使用手册1.1公式主要功能7.支持一般的算术运算+,-,*,/,'%例如:sin(1.35)*a/b+cos(3.4)/c其中a,b,c均为变量2.支持对数值型计算结果小数位的控制3.支持逻辑运算符&&(兼容老版&),

3、

4、(兼容老版

5、),!例如:iif((a&b)

6、

7、(c&&d),"right”,"wrong”)其中a,b,c,d均为变量4.支持比较运算符〉,〉=,<,<=,==,!=等,支持null值的处理。例如:iif((a>b&&a!=null)

8、

9、(c<

10、=d),"right","wrong")其中a,b,c,d均为变量5.支持自定义变量,变量可按Object和String两种方式传入例如:coll-〉varl+var2其中varl,var2均为自定义变量,可以为String型,也可以为任意类型6.公式除了支持String,NUmber型数据运算,还支持自定义类型例如:combine(vol,vo2)其中vol,vo2可为自定义的数据类型,具体用法参考后面的说明7.支持操作符*,八>,>=,<,<=,==)重载(通过实现相应的接口)例如:iif((carl>car2)

11、

12、(factoryl<=factory2),

13、"right",’.wrong")其中carl,car2,factoryl,factory2的运算符通过实现相应的接口进行重载。S.可以在数值型一维数组之间进行加减乘除运算(数组长度必须相等),即支持列操作.例如varl=[1,2,3,4];var2=[2,3,4,5];可对varl,var2进行各种运算。9.系统函数支持,NC常用函数支持例如:sin,cos,ceil,floor,toChinese,getChineseCurrency(),iif()等等,详细支持的函数请参见附录。10.支持外接用户函数.(可以是一个java的方法)例如:公式combine(

14、"nihao”,"hao")中,combine是^自定义函数,可以指定綁定到一个JAVA类的具体方法,可参考后面的例子。11.支持自定义函数.具体应用可参考后面的详细说明(第17页第1.8节)有时候公式解析器内部的函数并不能完全满足用户的要求,此时用户可添加自定义函数。例如:hello(’’saysomething",person),hello为一个自定义曲数,动态注册到公式解析器中。72.支持客户端公式和服务端公式.以满足前台及后台调用,主要体现在数据库查询的方式上有一定的差别。13.支持多行公式批量运算,且保持变量的传递性.例如:a-〉coll+col2;b

15、->a+coll*col3;c-〉a+b;14.支持一个线程内多个公式执行器实例交替运行的情况,但不支持多个线程内同一公式执行器实例交替运行。所以如果程序屮起多线程的话,建议每个线程中.独创建自己的公式解析器示例。例如下面的代码是可行的:FormulaParseFatherf=newFormulaParse();f-setExpress(formula);f.setNullAsZero(true);FormulaParseFatherf1=newFormulaParse();f1•setNullAsZero(false);f.setDataSArray(map)

16、;String[]res=f•getValueS();1.2公式的基本使用方法使用公式解析器的基本步骤如下:1.创建公式执行器如果在客户端使用公式解析:FormulaParseFatherf=newnc•ui•pub-formulaparse-FormulaParse();如果在服务端使用公式解析:FormulaParseFatherf=newnc.bs.pub.formulaparse.FormulaParse();如果不知道当前的代码会在哪一端运行,可以用下面的方法进行判断:if(RuntimeEnv.getInstance().isRunninglnSer

17、ver()){parse

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。