NC60公式函数使用说明.doc_第1页
NC60公式函数使用说明.doc_第2页
NC60公式函数使用说明.doc_第3页
NC60公式函数使用说明.doc_第4页
NC60公式函数使用说明.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NC60公式函数使用说明NC应用集成开发部 马志强本文档主要是对NC60中公式的基本使用进行简要说明,给出公式可以支持的参数类型以及对应的返回值类型结果等信息,并对公式函数中的一些特殊情况加以说明。在类型返回值表中没有提及的情况均视为非法参数条件,会抛出异常。本文档中由于书写匆忙,若有错误之处,欢迎批评指正。NC60公式函数使用说明1NC应用集成开发部 马志强11.字符串函数61.1 charat(string,index)61.2 endswith(string, end)61.3 equalsIgnoreCase(string1, string2)71.4 indexOf(st1, st2)71.5 isEmpty(str)81.6 lastIndexOf(st1, st2)81.7 left(st, index)81.8 leftStr(st,len,defaultStr)91.9 length(st)91.10 mid(String st, int start, int end)101.11 right(String st, int index)101.12 rightStr(st,len,defaultStr)111.13 startsWith(String st, String start)111.14 toLowerCase(String st)121.15 toString(obj)121.16 toUpperCase(String st)121.17 trimZero(value, decimal)132.数学函数142.1 abs(num)142.2 acos(x)142.3 add(num1,num2)152.4 asin(x)152.5 atan(x)152.6 cos(x)162.7 div(num1,num2)162.8 exp(x)172.9 int(x)172.10 ln(x)182.11 log(x)182.12 max(x, y)182.13 min(x, y)192.14 mul(num1,num2)192.15 round(double num, int index)202.16 sgn(num)202.17 sin(x)212.18 sqrt(x)212.19 sub(num1,num2)212.20 tan(x)222.21 toNumber(String st)222.22 zeroifnull(var)232.23 acosh(param)232.24 angle(x,y)242.25 asinh(param)242.26 atanh(param)242.27 cosh(param)252.28 mod(x, y)252.29 rand()252.30 sinh(param)262.31 sum(x,y)262.32 tanh(param)263.数据库函数273.1 ass(freevalueID,checktype)273.2 cvn(tablename,fieldname,pkfield,pkvalue)273.3 cvs(tablename,fieldname,pkfield,pkvalue)283.4 getColNmv(tablename,fieldname,pkfield,pkvalue)283.5 getColNmv2(tablename,fieldname,pkfield1,pkvalue1, pkfield2,pkvalue2)283.6 GetColsValue(tablename,fieldname1,fieldname2 ,pkfield,pkvalue)293.7 getColValue(tablename,fieldname,pkfield,pkvalue)293.8getColValue2(tablename,fieldname,pkfield1,pkvalue1,pkfield2,pkvalue2)303.9getColValueMore(tablename,selectfield,field1,value1,field2,value2.)303.10getColValueMoreWithCond(tablename,selectfield,field1,value1,field2,value2.,whereCondition)313.11getMLCValue(tablename,fieldname,pkfield,pkvalue)314. 财务函数314.1 getChineseCurrency(Object)314.2 getEnglishCurrency(mark,number)324.3 setThMark(num)324.4 toChinese(Object number,int flag1,int flag2)335. 日期类型335.1 compareDate(date1, date2, field)335.2 date()345.3 dateAdd(date1, num, fieldchar)34类型返回值表345.4 dateFormat(date, pattern)355.5 datetime()355.6 day ()365.7 dayOf(date)365.8 month ()365.9 monthOf(date)375.10 time()375.11 toDate(str)375.12 toDateTime(str)385.13 toTime(str)385.14 year ()395.15 yearOf(date)396. 基本类型396.1 iif(condition, result1, result2)396.2 比较操作(,=,!=,=)406.3 逻辑操作(&,|,!)416.4 +操作416.5 -操作426.6 *操作436.7 /操作436.8 操作446.9 %操作457. 关于公式解析的返回值451. 字符串函数1.1 charat(string,index)公式含义得到字符串string中第index个字符对应类:nc.vo.pub.formulaset.function.CharAt类型返回值表参数string参数index返回值java.lang.StringNumberjava.lang.String, index转换成int数值,与Java中charAt()结果相同,当index大于string长度时,抛出异常java.lang.Stringjava.lang.Stringjava.lang.String,index必须可以直接从String转成int,如”1”(但“1.22”不行,转int失败抛异常),转换后与上一条执行结果相同。1.2 endswith(string, end)公式含义判断字符串string是否以字符串end结尾对应类:nc.vo.pub.formulaset.function.EndsWith类型返回值表参数string参数end返回值java.lang.Stringjava.lang.Stringnc.vo.pub.lang.UFBoolean,与Java中String类方法endsWith返回结果相同,只不过返回UFBooleannull除null以外任何对象UFBoolean.FALSE除null以外任何对象nullUFBoolean.FALSEnullnullUFBoolean.TRUE1.3 equalsIgnoreCase(string1, string2)公式含义判断忽略大小写字符串string1是否与字符串string2相等对应类:nc.vo.pub.formulaset.function.EqualsIgnoreCase类型返回值表参数string参数end返回值java.lang.Stringjava.lang.StringInteger, 与Java中String类方法equalsIgnoreCase返回结果相同,只不过返回Integer(true对应1,false对应-1)null除null以外任何对象new Integer(-1)除null以外任何对象nullnew Integer(-1)nullnullnew Integer(1)1.4 indexOf(st1, st2) 公式含义判断字符串st1中第一个字符串st2所在的位置,比如lastIndexOf(HI,UAP2006, UAP,UAP)返回3.对应类:nc.vo.pub.formulaset.function.IndexOf类型返回值表参数st1参数st2返回值java.lang.Stringjava.lang.StringInteger, 与Java中String类方法indexOf返回结果相同,如果不存在返回-1注:参数都不能为null1.5 isEmpty(str)公式含义用于判断变量是否为空,包括空串()及空值(null)对应类:nc.vo.pub.formulaset.function.IsEmpty类型返回值表参数str返回值java.lang.StringUFBoolean;如果str为”,返回UFBoolean.TRUE,否则返回UFBoolean.FALSEnullUFBoolean.TRUE其他任何对象UFBoolean.FALSE1.6 lastIndexOf(st1, st2) 公式含义判断字符串st1中最后一个字符串st2所在的位置,比如lastIndexOf(HI,UAP2006,UAP,UAP)返回11.对应类:nc.vo.pub.formulaset.function.LastIndexOf类型返回值表参数st1参数st2返回值java.lang.Stringjava.lang.StringInteger, 与Java中String类方法lastIndexOf返回结果相同,如果不存在返回-1注:参数都不能为null1.7 left(st, index) 公式含义求字符串st左边前index个字符组成的字符串对应类:nc.vo.pub.formulaset.function.Left类型返回值表参数st参数index返回值java.lang.Stringjava.lang.Object(其toString()方法一定要可以parse为int)java.lang.String, 与Java中String类方法subString(0,index)返回结果相同,如果indexst字符串的长度,抛异常注:参数均不能为null。1.8 leftStr(st,len,defaultStr) 公式含义求字符串st左边前len个字符组成的字符串,如果字符串长度小于len,则用defaultStr补齐,比如leftStr(abc,6,)将返回abc.对应类:nc.vo.pub.formulaset.function.LeftStr类型返回值表参数st参数len参数defaultStr返回值java.lang.String,长度不能为0java.lang.Object,但其toString()方法要能转换为int值java.lang.String,长度不能为0java.lang.String,将str的字符串值从左侧进行截取,如果长度不够len,则用defaultStr补齐注:参数都不能为null。补齐时的策略:如果一个defaultStr不够,可重复多个。比如leftStr(“abc”, 6, “ef”)返回abcefe。1.9 length(st) 公式含义求字符串st的长度对应类:nc.vo.pub.formulaset.function.Length类型返回值表参数st返回值java.lang.StringInteger, 与String的length方法返回结果相同null01.10 mid(String st, int start, int end) 公式含义求字符串st左边前第start个字符至第end个字符之间的字符串对应类:nc.vo.pub.formulaset.function.Mid类型返回值表参数st参数start参数end返回值java.lang.String,长度不能为0java.lang.Object,但其toString()方法要能转换为int值java.lang.Object,但其toString()方法要能转换为int值java.lang.String,与String中的方法subString(start, end)注:参数均不可以为null, 此方法会检查start和end,当startst字符串的长度或startend时抛出异常。1.11 right(String st, int index) 公式含义求字符串st右边前index个字符组成的字符串对应类:nc.vo.pub.formulaset.function.Right类型返回值表参数st参数index返回值java.lang.Stringjava.lang.Object(其toString()方法一定要可以parse为int)java.lang.String, 与Java中String类方法subString(st.length()-index)返回结果相同,如果indexst字符串的长度,抛异常注:参数均不能为null。1.12 rightStr(st,len,defaultStr) 公式含义求字符串st右边后len个字符组成的字符串,如果字符串长度小于len,则用defaultStr补齐,比如rightStr(abc,6,)将返回abc.对应类:nc.vo.pub.formulaset.function.RightStr类型返回值表参数st参数len参数defaultStr返回值java.lang.String,长度不能为0java.lang.Object,但其toString()方法要能转换为int值java.lang.String,长度不能为0java.lang.String,将str的字符串值从右侧进行截取,如果长度不够len,则用defaultStr补齐注:参数都不能为null。补齐时的策略:如果一个defaultStr不够,可重复多个。比如leftStr(“abc”, 6, “ef”)返回abcefe。1.13 startsWith(String st, String start) 公式含义判断字符串st是否以字符串start开头对应类:nc.vo.pub.formulaset.function.StartsWith类型返回值表参数string参数end返回值java.lang.Stringjava.lang.Stringnc.vo.pub.lang.UFBoolean,与Java中String类方法startsWith返回结果相同,只不过返回UFBooleannull除null以外任何对象UFBoolean.FALSE除null以外任何对象nullUFBoolean.FALSEnullnullUFBoolean.TRUE1.14 toLowerCase(String st) 公式含义求字符串st的小写形式,比如toLowerCase(Abc)返回abc。对应类:nc.vo.pub.formulaset.function.ToLowerCase类型返回值表参数st返回值java.lang.Stringjava.lang.String, 与String的toLowerCase方法返回结果相同注:参数不能为null。1.15 toString(obj) 公式含义将对象obj转换为本解析器可识别的字符串形式。对应类:nc.vo.pub.formulaset.function.ToString类型返回值表参数st返回值nulljava.lang.String, “null”nc.vo.pub.formulaset.util.NullZeroNumberjava.lang.String,”其他的java.lang.Objectjava.lang.String,返回toString()方法的内容1.16 toUpperCase(String st) 公式含义求字符串st的大写形式。对应类:nc.vo.pub.formulaset.function.ToUpperCase类型返回值表参数st返回值java.lang.Stringjava.lang.String, 与String的toUpperCase方法返回结果相同注:参数不能为null。1.17 trimZero(value, decimal)公式含义剪除字符串或数字str的末尾0值, var:表示待截取的值,可以为数值也可以为字符,若字符型不能转换为数值则返回原值(如8.023a)。 decimal:可选项,表示精度值(即小数点后的位数). trimZero(8.023000); /return 8.023 trimZero(8.023000); /return 8.023 trimZero(8.023000a); /return 8.023000a trimZero(8.023000,2); /return 8.02对应类:nc.vo.pub.formulaset.function.TrimZero类型返回值表参数value参数decimal返回值java.lang.Stringjava.lang.Object,但其toString方法要能转换成int值如果String可以直接转成UFDouble,返回具体精度的UFDouble,否则直接返回value。特别地,当value长度为0时返回UFDouble(0.0)UFDouble同上返回具体精度的UFDoubleNumber同上将value转换为double后,再按照精度转换成UFDouble任何其他java.lang.Object同上直接返回valuenull同上null注:参数decimal可以不写,此时默认为-1(int),如果设置decimal的值,则其不能为null。2. 数学函数2.1 abs(num)公式含义求数num的绝对值对应类:nc.vo.pub.formulaset.function.Abs类型返回值表参数num返回值IntegerInteger, 与Math.abs(int)方法返回结果相同NumberDouble, 与Math.abs(double)方法返回结果相同nc.vo.formulaset.coretype.ComplexDouble,与Complex返回结果相同注:参数值不能为null。2.2 acos(x)公式含义返回一个弧度x的反余弦(arccos),弧度值在0到Pi之间对应类:nc.vo.pub.formulaset.function.ArcCosine类型返回值表参数num返回值NumberDouble, 与Math.acos(double)方法返回结果相同nc.vo.formulaset.coretype.ComplexDouble,与Complex.acos():返回结果相同注:参数不能为null。Complex.acos():acos(z) = -i * log( z + i * sqrt(1 - z*z) )。2.3 add(num1,num2)公式含义用于高精度加法运算。对应类:nc.vo.pub.formulaset.function.AddBigNumber。类型返回值表参数num1参数num2返回值UFDoublenullUFDouble: num1UFDoubleUFDouble:num1+num2NumberUFDouble:num1+num2nullUFDoubleUFDouble:num2NumberUFDouble:num1+num2注:其他的情况下,将会用普通+的方式进行运算2.4 asin(x)公式含义返回一个弧度x的反正弦(arcsin),弧度值在-Pi/2到Pi/2之间对应类:nc.vo.pub.formulaset.function.ArcSine类型返回值表参数num返回值NumberDouble, 与Math.asin(double)方法返回结果相同ComplexDouble,与Complex.asin():返回结果相同注:参数不能为null。Complex.asin(): asin(z) = -i * log(i*z + sqrt(1 - z*z)。2.5 atan(x)公式含义返回一个弧度x的反正切值,弧度值在-Pi/2到Pi/2之间对应类:nc.vo.pub.formulaset.function.ArcTangent类型返回值表参数x返回值NumberDouble, 与Math.atan(double)方法返回结果相同ComplexDouble,与Complex.atan():返回结果相同注:参数不能为null。Complex.atan():atan(z) = -i/2 * log(i-z)/(i+z)。2.6 cos(x)公式含义返回给定角度x的余弦值对应类:nc.vo.pub.formulaset.function.Cosine类型返回值表参数x返回值NumberDouble, 与Math.cos(double)方法返回结果相同ComplexDouble,与Complex.cos():返回结果相同注:参数不能为null。Complex.cos():cos(z) = ( exp(i*z) + exp(-i*z) ) / 2。2.7 div(num1,num2)公式含义用于高精度除法运算对应类:nc.vo.pub.formulaset.function.DivideBigNumber类型返回值表参数num1参数num2返回值UFDoublenullUFDouble: num1UFDoubleUFDouble:num1.div(num2)NumberUFDouble: num1.div(num2)nullUFDoubleUFDouble:num2NumberUFDouble: num1.div(num2)注:其他情况下,会使用/操作进行运算2.8 exp(x)公式含义e的x次方对应类:nc.vo.pub.formulaset.function.Exp类型返回值表参数x返回值NumberDouble, 与Math.exp(x.doubleValue()方法返回结果相同ComplexComplex, new Complex(mod*Math.cos(y),mod*Math.sin(y)注:参数不能为null2.9 int(x) 公式含义将变量转换为int类型;对应类:nc.vo.pub.formulaset.function.IntValue类型返回值表参数x返回值NumberInteger, new Integer(Math.round(x.floatValue()StringInteger, new Integer (Math.round(new Double(x.toString().floatValue)注:参数不能为null2.10 ln(x)公式含义返回给定数值x的自然对数;对应类:nc.vo.pub.formulaset.function.NaturalLogarithm类型返回值表参数x返回值NumberComplex, new Complex(param.doubleValue().log()ComplexComplex, x.log()注:参数不能为null2.11 log(x)公式含义返回给定数n的以十为底的对数;对应类:nc.vo.pub.formulaset.function.Logarithm类型返回值表参数x返回值NumberComplex, new Complex(x.doubleValue().log().div(new Complex(Math.log(10), 0)ComplexComplex, x.log().div(new Complex(Math.log(10),0)注:参数不能为null2.12 max(x, y) 公式含义求数字x,y两者中的最大值对应类:nc.vo.pub.formulaset.function.Max类型返回值表:参数x参数y返回值NumberNumberNumber,x.doubleValue()与y.doubleValue()比较,返回x,其余返回yComparableOpareTo(y) ,0返回x,0返回x,返回x,其余返回yComparableOpareTo(y)进行比较,0返回y,0返回y,时返回1,=时返回0, 时返回-1注:参数不能为null2.17 sin(x)公式含义返回给定角度x的正弦值;对应类:nc.vo.pub.formulaset.function.Sine类型返回值表参数num返回值Numbernew Double(Math.sin(Number)param).doubleValue()ComplexComplex,(Complex)param).sin()注:参数不能为null2.18 sqrt(x)公式含义返回数值x的平方根;对应类:nc.vo.pub.formulaset.function.SquareRoot类型返回值表参数x返回值Numberx.doubleValue()0,返回new Complex(value).sqrt(),即Complex;x.doubleValue()getColsValue(tablename,fieldname1,fieldname2,pkfield,pkvalue)根据主键从数据库查询多个字段的值,左边待赋值的字段要用逗号分割,注意里面的字段,表名要用双引号扩起来。对应类:nc.vo.pub.formulaset.function.GetColsValue类型返回值表此公式中参数是可变的,但是第一个参数必须为表名称(String),倒数第二个参数为主键字段名称(String),倒数第一个参数为主键值(可以为List或String,如果为List代表可以同时查询多个值),中间可以为多个,但只能是数据库表列名称。返回值Object,其中Object00为第一个字段的第一个值,Object10为第二个字段的第一个值。3.7 getColValue(tablename,fieldname,pkfield,pkvalue)公式含义根据主键从数据库查询特定字段的值,其功能类似SQL语句:select fieldname from tablename where pkfield = p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论