表达式计算器
计算表达式的结果,表达式中包含整数、小数、数值变量、用于字符串比较的字符串变量、算术运算符、布尔运算符或一组函数。
属性
属性 | 说明 |
---|---|
表达式 | 要计算的表达式。 表达式可以包含无限多个左括号和右括号,但左括号和右括号的数量必须相等。如果表达式不符合正确的语法,则转换器将不会执行计算。 |
模式 | 动态链接的方向:
|
源
一个或多个变量,由具有以下
{
格式的索引编号的占位符进行标识。索引编号是递进的,必须是大于零 index
}{0}
的整数。占位符可以按任意顺序显示在表达式中。在表达式中使用任意数量的圆括号。
文本
- 布尔。
- 整数。
- 小数,其中的小数分隔符必须为点。
- 带有前缀0x的十六进制数。
- 文本,例如由双引号分隔的字符串。小贴士: 重复两次的双引号 ("") 被解释为转义序列。
- 日期和时间。例如,2017-06-28T15:26:06.0790910。
运算符
类别 | 操作员 | 关联性 | 注释 |
---|---|---|---|
一元 | 一元负号: - Bitwise NOT: ~ 强制转换运算符: (type) | 从右到左 | 强制转换运算符 (type) 仅适用于所有数字数据类型和布尔类型。 |
乘法 | * ,/ , % | 从左到右 | |
加法 | + 、- | 从左到右 | |
移位 | << 、>> | 从左到右 | 移位和关系运算符适用于以下数据类型:
|
关系 | < 、<= 、> 、>= | 从左到右 | |
相等 | == 、!= | 从左到右 | 相等运算符适用于以下数据类型:
|
Bitwise AND、XOR、OR | & 、^ 、| | 从左到右 | |
Logical AND | && | 从左到右 | |
Logical OR | || | 从左到右 |
数据类型
表达式计算器中的数据类型规范:
- 文本整数为 Int32。
- 小数文本为 Double。
- 数值被视为 Int32。
- 文本值 true 和 false 被解释为 Boolean 值。
- / 运算符始终返回 Double 值。
- 当除以模零时,% 运算符会生成异常。
- % 运算符接受 Float 和 Double 运算符。
- 除了符号返回 Int32 值以外,所有其他函数均返回 Double 值。
一元强制运算符的
type
可以是以下数据类型:- bool、Boolean
- sbyte、SByte
- short、Int16
- int、Int32
- long、Int64
- byte、Byte
- ushort、UInt16
- uint、UInt32
- ulong、UInt64
- float、Float
- double、Double
适用于特定数据类型的运算符:
操作员 | Operand1 | Operand2 | 说明 |
---|---|---|---|
加法 | DateTime | 整数 | Operand2 被解释为毫秒。 |
加法 | 整数 | DateTime | Operand1 被解释为毫秒。 |
加法 | DateTime | TimeZone (Struct) | Operand2 被解释为分钟 (TimeZone.Offset)。 |
加法 | TimeZone (Struct) | DateTime | Operand1 被解释为分钟 (TimeZone.Offset)。 |
加法 | TimeZone | 整数 | Operand1 被解释为分钟 (TimeZone.Offset)。Operand2 被解释为分钟。 |
加法 | 整数 | TimeZone | Operand1 被解释为分钟。Operand2 被解释为分钟 (TimeZone.Offset)。 |
减法 | DateTime | 整数 | Operand2 被解释为毫秒。 |
减法 | DateTime | TimeZone (Struct) | Operand2 被解释为分钟 (TimeZone.Offset)。 |
减法 | TimeZone | 整数 | Operand1 被解释为分钟 (TimeZone.Offset)。Operand2 被解释为分钟。 |
功能
表达式计算器中使用的函数:
功能 | 语法 | 说明 | 返回数据类型 |
---|---|---|---|
max | max( value1 , value2 , value3 , ...) | 返回最大值。 | Double |
min | min( value1 , value2 , value3 , ...) | 返回最小值。 | Double |
avg | avg( value1 , value2 , value3 , ...) | 返回给定值的平均值。 | Double |
abs | abs( value ) | 返回给定数值的绝对值。 | Double |
trunc | trunc( value ) | 返回小数的整数部分。 | Double |
ceil | ceil( value ) | 返回超出部分的近似值。 | Double |
floor | floor( value ) | 返回不足部分的近似值。 | Double |
round | round( value ) | 返回最接近整数的近似值。 | Double |
sqrt | sqrt( value ) | 返回给定数值的平方根。 | Double |
sign | sign( value ) | 检查给定浮点数是否为负数。如果为 True,则返回 0 ;如果为 False,则返回 1 。 | Int32 |
like | like( string_value , pattern ) | 如果 string_value 参数与 pattern 相匹配,则返回 true 。 | Boolean |
isempty | isempty( variable ) | 检查给定的 NodeID、String、LocalizedText 或 DataTime 是否为空。 | Boolean |
if | if( condition , value_if_true , value_if_false ) | 检查 value_if_true 和 value_if_false 参数的数据类型是否相同。 | value_if_true 数据类型 |
输出
表达式的结果值。
示例
提供反馈