PQL 快速入门
PQL基础
数据流转
输出文件
PQL 中的语句
分支和循环
更优雅的数据操作
PQL 高级特性
系统函数
自定义函数
扩展操作
其他语言相关
附录
相对于字符串和日期时间,Sharp 表达式中数字的操作要少很多。
ABS
取给定数字的绝对值。-2 ABS
的结果是2
。CEIL
向上取整,如1.2 CEIL
的结果是2
,-1.23 CEIL 1
的结果是-1.2
。DIVIDE n
将给定数字除以另一个数字,效果同m / n
,但运算优先级低于除号。MAX
将左右两边的数字进行比较,返回较大的数字。1 MAX 2
的结果是2
MIN
将左右两边的数字进行比较,返回较小的数字。1 MIN 2
的结果是1
MINUS n
将给定数字减去另一个数字,效果同m - n
,但运算优先级低于减号。MOD n
将给定整数除以另一个整数并取余数,效果同m % n
,但运算优先级低于 取余号。MULTIPLY n
将给定数字乘以另一个数字,效果同m * n
,但运算优先级低于乘号。PLUS n
将给定数字加上另一个数字,效果同m + n
,但运算优先级低于加号。POW
将给定的数字进行平方运算。3 POW
的结果是9
。POW n
将给定的数字进行幂运算。3 POW 3
的结果是27
。SIGN
返回给定数字的符号,大于0
返回1
,小于0
返回-1
,等于0
返回0
。SQRT
返回给定数字的开方。Sharp 表达式中的数学运算和传统的数字运算运算方式不一样,对比x + y * z
和 x PLUS y MULTIPLY z
:一式中先计算乘再计算加,二式中会顺序运算,先计算加再计算乘。关于优先级的问题也简单说明一下,如x PLUS y * z
:传统数学运算优先级高于Sharp 操作,会先计算乘再计算加。
其他数学自动可参考全局函数。
在 PQL 中,也可以直接使用 Javascript 的对象和方法:
打开浏览器,按 F12 键,切换到“控制台”标签,输入Math.
之后,在提示中的所有的数学方法都可使用。注意 Javascript 区分大小写。
FLOOR
移除给定数字的小数部分,不考虑四舍五入。3.57 FLOOR
结果是3
FLOOR n
保留给定数字的 n 位小数部分,不考虑四舍五入。3.1415926 FLOOR 4
结果是3.1415
ROUND
移除给定数字的小数部分,考虑四舍五入。3.57 ROUND
结果是4
ROUND n
保留给定数字的 n 位小数部分,考虑四舍五入。3.1415926 ROUND 4
结果是3.1416
TO n
生成一个从给定整数到n
的整数数组,包括n
,一般用于 FOR 循环中。1 TO 4
结果是[1, 2, 3, 4]
UNITIL n
生成一个从给定整数到n
的整数数组,不包括n
,一般用于循环中。1 TO 4
结果是[1, 2, 3]
。更多示例可以参阅 FOR 语句。TO PERCENT
将给定数字转化为百分数字符串。0.3124 TO PERCENT
的结果是'31.24%'
。TO PERCENT
不会对小数的精度进行控制,如果想得到期望小数位数的百分数,可先用FLOOR
或ROUND
处理一下。TO CAPACITY
将给定的整数按计算机容量单位转换成易读的容量单位字符串,把给定数字当作字节(Byte),保留两位小数,最大单位P
。122842 TO CAPACITY
结果是'119.96K'
TO SECONDS
将毫秒数转化为秒,返回小数,一般与SPAN
连用TO MINUTES
将毫秒数转化为分钟,返回小数,一般与SPAN
连用TO HOURS
将毫秒数转化为小时,返回小数,一般与SPAN
连用TO DAYS
将毫秒数转化为天,返回小数,一般与SPAN
连用TO TIMESPAN 'units'
将毫秒数转化易读的字符串,一般与SPAN
连用。如果不设置units
参数,默认的单位为'd,h,m,s,ms'
,返回值的格式为'1d2h'
,最多有两个时间单位。可以设置时间单位,如'天,小时,分钟,秒,毫秒'
,前面的返回值就会变成'1天2小时'
。IF ZERO m
如果给定的数字为0
则赋值为m
。IF NOT ZERO m
如果不为0
则赋值为m
。IF POSITIVE m
如果给定的数字为正数时则赋值为m
。IF NEGATIVE m
如果给定的数字为负数时则赋值为m
。这两个操作的应用场景有些怪异,但确实有时会用到。
参考链接