公式及函数
在龙宫STC中,您可在公式字段中中可直接进行输入函数,使用函数计算公式的值。本章节提供目前支持的函数说明。
算术运算符
执行两个变量或值的运算。
运算符 | 描述 | 备注 |
---|---|---|
+ | 加 | 可用于函数之间的运算和字符串之间的运算 |
- | 减 | |
* | 乘 | |
/ | 除 | |
% | 余 | 3%2余1,值就=1 |
比较运算符
用于逻辑语句的判断,从而确定给定的两个值或变量是否相等。 给定A=2。
运算符 | 描述 | 比较 | 结果 | 备注 |
---|---|---|---|---|
== | 等于 | A==1 A==2 |
false ture |
|
=== | 恒等于(值和类型均相等) | A==='2' A===2 |
false ture |
|
!= | 不等于 | A!=2 A!=4 |
false ture |
|
!== | 不恒等于(值和类型均不等) | A!==2 A!=='2' |
false ture |
|
> | 大于 | A>3 A>1 |
false ture |
|
< | 小于 | A<1 A<3 |
false ture |
|
>= | 大于等于 | A>=3 A>=2 |
false ture |
|
<= | 小于等于 | A<=1 A<=2 |
false ture |
逻辑运算符
用来确定变量或值之间的逻辑关系。给定A=2,B=3。
运算符 | 描述 | 示例 | 结果 | 备注 |
---|---|---|---|---|
&& | 和(两个条件均为真) | (A==2&&B==2) (A==2&&B==3) |
false true |
|
|| | 或(前后两个条件其一为真即可) | (A==1||B==2) (A==2||B==2) |
false true |
|
! | 非(两个条件均为假) | !(A!=B) !(A==B) |
false true |
控制结构语句
用于计算后输出最后的值。
语句 | 描述 | 参数 | 公式 | 结果 | 示例 |
---|---|---|---|---|---|
if | 判断输出 | A,B,C,D | if(A==B) C;else D; | C或D | A=1 if(A==1) 0; else 1; 值=0 |
for | 循环输出 | i | for(i=A;i<B;i++) i; | B-1 | for(i=1;i<10;i++) i; 值=9 |
数学函数
用于执行数学任务的函数。
请注意
- 请提前过滤掉空对象,否则公式无法生效。
- 在报告模板中,需要调用变量时,变量之间的位置会对调用结果产生影响。
- 如调用变量的变量C2在第一行第一列,被调用的变量C1在第一行第二列,则C1无法被C2调用。
字符串运算
用于处理文本(字符串)的运算方法。
运算 | 描述 | 输入参数 | 公式 | 结果 |
---|---|---|---|---|
indexOf | 返回某个指定的字符串值在字符串中首次出现的位置 (从0开始) |
C1="PL10*30" | C1.indexOf("L") | 1 |
charAt | 返回在指定位置的字符 (从0开始) |
C1="PL10*30" | C1.charAt(1) | L |
substring | 返回在指定区间的字符串 (从0开始) |
C1=PL10*30 | C1.substring(0,4) | PL10 |
length | 返回字符串的个数 | C1="PL10*30" | C1.length | 7 |
Number | 把对象格式转换为数值格式 | C1="123"(文本) | Number(C1) | 123(数值) |
parseFloat | 解析字符串并返回数值 | C1="2345.67days" | parseFloat(C1) | 2345.67 |
parseInt | 解析字符串并返回整数部分数值 | C1="2345.67days" | parseInt(C1) | 2345 |
请注意
- 请提前过滤掉空对象,否则公式无法生效。
- 通过 “添加文本”添加的文本无法进行字符串运算。
- 双引号“”和单引号‘’代表空字符串。
- 在进行字符串与字符串拼接、数值与数值拼接、字符串与数值拼接等操作时,在最前方添加空字符串可得到正确拼接结果。例如,当C1=10;C2=20;C3=30时,在公式中输入:'' + C1 + C2 + C3,可得到值为102030。
属性函数
用于获取对象属性的函数
函数 | 描述 | 输入参数 | 公式 | 结果 |
---|---|---|---|---|
GetProp | 获取对象属性 | 主零件长度1=5000 主零件长度2=6000 主零件长度3=7000 |
GetProp("main_part.length") | 5000 6000 7000 |
GetPreviousProp | 获取上一行对象属性 | 主零件长度1=5000 主零件长度2=6000 主零件长度3=7000 |
GetPreviousProp("main_part.length") | / 6000 7000 |
GetNextProp | 获取下一行对象属性 | 主零件长度1=5000 主零件长度2=6000 主零件长度3=7000 |
GetNextProp("main_part.length") | 5000 6000 / |
值域函数
函数 | 描述 | 输入参数 | 公式 | 结果 |
---|---|---|---|---|
CopyVariable | 复制对象变量 | C1=25 | CopyVariable("C1") | 25 |
GetVariableFormula | 获得对象变量公式 | C1=GetProp("length") | GetVariableFormula("C1") | GetProp("length") |
GetSum | 对变量的数值进行求和并置0 | 重量1=10; 重量2=20; 重量3=30; |
GetSum("重量属性") | 10 20 30 |
GetTotal | 对变量的数值求和并持续累加 | 重量1=10; 重量2=20; 重量3=30; |
GetTotal("重量属性") | 10 30 60 |
GetCount | 对变量出现的次数进行求和并置0 | 重量1=10; 重量2=10; 重量3=20; 重量4=30; 重量5=30; 重量6=30; |
GetCount("重量属性") | 1 1 1 1 1 1 |
GetAll | 显示相同行并持续计数 | 重量1=10; 重量2=10; 重量3=20; 重量4=30; 重量5=30; 重量6=30; |
GetAll("重量属性") | 1 2 3 4 5 6 |
特殊用法
公式 | 描述 |
---|---|
1 | 对该表达式所在的相同的行数进行计数 |