● 基础类型
.P
声明: TYPES mount TYPE p length 5 DECIMALS 2.
又称为压缩类型.
值范围1~15整型数字(除去最后的符号位).
若在没有定义长度的情况下,默认为最大长度,即15.
点号不算在表示位数内,但表示位数过长的情况下,点号会自动消除,如:12,345; 1234567,890,123
小数点可表示最大位数14.小数点部分按四舍五入法取值.
.DEC
DEC(13,2) 长度为13,其中2位小数位.
金额类型.
与类型P的转换公式为:P((n+1)/2) 即DEC(13,2) = P(7)
※注意DEC(14,2) = P(8) / DEC(15,2) = P(8)
与之相关的常用的domain有 DEC13(13位的小数点项目)
DECV13(13位的小数点项目(正负))
DEC15(15位的小数点项目)
DECV15(15位的小数点项目(正负))
金额加算等需要注意溢出(CX_SY_ARITHMETIC_OVERFLOW)
.F
浮动小数点数
可表示值范围1~31.如:1000000 ⇒ 1.0000000000000000E+06
用WRITE中的EXPONENT属性可以设定变量的指数,
如: f = 1000000. WRITE f EXPONENT 2.⇒10000.000000000000E+02
● 演算符
+ 加算
- 减算
* 乘算
/ 除算
DIV 整除
MOD 取模
** 乘方
Ø 负数取模(MOD)
例: 1 MOD 5 ⇒1 25 MOD 7 ⇒4
1 MOD -5 ⇒1 25 MOD -7 ⇒4
-1 MOD 5 ⇒4 -25 MOD 7 ⇒3
-1 MOD -5 ⇒4 -25 MOD -7⇒3