Skip to content
On this page

小部件编辑器表达式

类别MAML 操作符优先级释义用例
操作符+4
-4
*3乘以
/3除以
%3取模(这里不是百分比,是取模,注意两者的区别)
^10按位进行异或运算
~2按位进行取反运算
{{5左移位运算符
}}5右移位运算符
!2逻辑非,相当于以前的 not
==7等于
!=7不等于
**11与,必须同时满足才为真
||12或,两个条件满足其中一个就为真
}6大于
}=6大于等于
{6小于
{=6小于等于
三角函数三角函数sin、cos、tan、asin、acos、atan、sinh、cosh、sqrt、abs、min、max、pow
内置函数len()获取变量和字符串位数len(数字)
digit()取给定数字的第几位 digit(12345, 2) = 4 (注意:原数字位数不能超过 10 位,下标从右向左,并且从 1 开始)digit(数字, 第几位)
substr()substr('今天真热啊',1,2) = '天真'(注意:字符位置是从左至右,并从 0 开始)substr(原字符串,字串开始位置,字串长度)
strIsEmpty()判断字符串变量是否为空 strIsEmpty(@abc) 为空则为 1,不为空则为 0strIsEmpty(字符串变量)
isnull()判断变量是否为空 isnull(#abc) 为空则为 1,不为空则为 0isnull(数字型变量)
ceil()向上取整;如:6.1 或者 6.99 都取值为 7ceil()
int()向下取整;如:6.1 或者 6.99 都取值为 6int()
round()四舍五入取整(取 0 到 1 之间的随机数)round()
rand()取 0 到 1 之间的随机数;如果需要随机生成 0-100 随机数,可以这样写 rand()*100rand()
formatDate()日期格式化成字符串;'string' 写作 'HH:mm'formatDate('string',#time_sys)
strStartsWith()判断字符串是否是某字符串开头,是则为 1,不是则为 0strStartsWith('123456789','12')
strEndsWith()判断字符串是否是某字符串结束,是则为 1,不是则为 0strEndsWith('123456789','89')
strIndexOf()字符 string_b 第一次出现在字符串@string_a 中的位置 如: strIndexOf('string','str')=0strIndexOf(@string_a,'string_b')
strLastIndexOf()字符 string_b 最后出现在字符串@string_a 中的位置 如:strLastIndexOf('starina','a')=6strLastIndexOf(@string_a,'string_b')
strContains()字符串@string_a 是否包含字符 string_b 如: strContains('string','str')=1或(true)strContains(@string_a,'string_b')
strReplaceAll()用 string_c 替换@string_a 中所有的 string_b (strReplaceAll('abc','a','1')='1bc' ,支持正则表达式。strReplaceAll(@string_a,'string_b','string_c')
preciseeval()计算字符串的值,并精确到小数点后 3 位,如:preciseeval('5*5+0.333',3)==25.333preciseeval('@string_a',3)
strMatches()正则表达式strMatches(@str,'.[\+/-]$')
strTrim()裁切字符串的开头和尾部的空格、制表、回车符('123')strTrim(' 123 ')
formatFloat()格式化小数点后几位,并转换成字符串(%.3f 代表四舍五入到小数点后 3 位)formatFloat('%.3f',#accx)
strReplaceFirst()替换第一个;666defABCstrReplaceFirst('ABCdefABC','ABC','666')
strToLowerCase()转换成小写;abcdefstrToLowerCase('ABCdef')
strToUpperCase()转换成大写;ABCDEFstrToUpperCase('ABCdef')