跳转至

公式及函数

在龙宫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

数学函数

用于执行数学任务的函数。

函数 描述 输入参数 公式 结果 示例
Math.abs 取参数的绝对值 C1=-8 Math.abs(C1) 8 C1=-7
公式:Math.abs(C1)
值:7
Math.acos 取参数的反余弦值 C1=0.5 Math.acos(C1) 1.047 C1=0.99
公式:Math.acos(C1)
值:0.142
Math.asin 取参数的反正弦值 C1=0.5 Math.asin(C1) 0.524 C1=0.8
公式:Math.asin(C1)
值:0.927
Math.atan 取参数的反正切值 C1=30 Math.atan(C1) 1.537 C1=60
公式:Math.atan(C1)
值:1.554
Math.ceil 对参数的小数位
进行上舍入后取整
C1=8.37 Math.ceil(C1) 9 C1=9.1
公式:Math.ceil(C1)
值:10
Math.cos 取参数的余弦值 C1=90 Math.cos(C1) 0 C1=60
公式:Math.cos(C1)
值:0.5
Math.exp 生成以自然数e
为底数的指数
C1=
log(2)
Math.exp(C1) 2 C1=2
公式:Math.exp(C1)
值:7.389
Math.floor 对参数的小数位
进行下舍入后取整
C1=8.37 Math.floor(C1) 8 C1=9.1
公式:Math.floor(C1)
值:9
Math.log 生成参数的
自然对数
(底数为e)
C1=1 Math.log(C1) 0 C1=1
公式:Math.log(C1)
值:0
Math.log10 生成参数的
自然对数
(底数为10)
C1=100 Math.log10(C1) 2 C1=1000
公式:Math.log(C1)
值:3
Math.log2 生成参数的
自然对数
(底数为2)
C1=4 Math.log(C1) 2 C1=8
公式:Math.log(C1)
值:3
Math.max 在参数组中取最大值 C1=99
C2=98
C3=97
...
Math.max(C1,C2,C3,...) 99 C1=99;C2=98;C3=97;
公式:Math.max(C1,C2,C3,)
值:99
Math.min 在参数组中取最小值 C1=1
C2=2
C3=3
...
Math.min(C1,C2,C3,...) 1 C1=1;C2=2;C3=3;
公式:Math.min(C1,C2,C3,)
值:1
Math.pow 对浮点数求幂 C1=2
C2=3
Math.pow(C1,C2) 8 C1=2;C2=3
公式:Math.pow(C1,C2)
值:8
Math.random 生成随机数 Math.random() 生成[0,1)之间的随机数 公式:Math.random()
值:0.873
Math.round 对参数小数位
进行四舍五后取整
C1=8.37 Math.round(C1) 8 C1=12.56
公式:Math.round(C1)
值:13
Math.sign 判断数字的符号
(C>0输出1)
(C<0输出-1)
(C=0输出0)
C1=20 Math.sign(C1) 1 C1=-10
公式:Math.sign(C1)
值:-1
Math.sin 取参数的正弦值 C1=90 Math.sin(C1) 1 C1=30
公式:Math.sin(C1)
值:0.5
Math.sqrt 取参数的平方根 C1=4 Math.sqrt(C1) 2 C1=16
公式:Math.sqrt(C1)
值:4
Math.tan 取参数的正切值 C1=45 Math.tan(C1) 1 C1=30
公式:Math.tan(C1)
值:0.577
String 把对象格式转换为文本格式 C1=123(数值) string(C1) 1(文本)
示例1
示例2
示例3
示例4

请注意

  • 在报告模板中,需要调用变量时,变量之间的位置会对调用结果产生影响。
  • 如调用变量的变量C2在第一行第一列,被调用的变量C1在第一行第二列,则C1无法被C2调用。

字符串运算

用于处理文本(字符串)的运算方法。

运算 描述 输入参数 公式 结果
indexOf 返回某个指定的字符串值在字符串中首次出现的位置
(从0开始)
C1="PL10*30" C1.indexOf("L") 1
charAt 返回在指定位置的字符
(从0开始)
C1="PL10*30" C1.charAt(1) L
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;
重量3=30;
GetCount("重量属性") 1
1
1
1
1
1
GetAll 显示相同行并持续计数 重量1=10;
重量2=10;
重量3=20;
重量4=30;
重量5=30;
重量3=30;
GetAll("重量属性") 1
2
3
4
5
6

特殊用法

公式 描述
1 对该表达式所在的相同的行数进行计数