3. Numbers
数值
- 直到5.2版本,Lua只有一种数值类型:双精度浮点数(double-precision floating-point numbers)。
- 从5.3版本开始,Lua引入了整数类型(integer type),并且支持64位整数。
-- 小数和指数会被当作浮点数,否则为整数
> 4 --> 4
> 0.4 --> 0.4
> 4.57e-3 --> 0.00457
> 0.3e12 --> 300000000000.0
> 5E+20 --> 5e+20
-- type()都返回number
> type(3) --> number
> type(3.5) --> number
> type(3.0) --> number
-- 值相等的浮点数和整数是相等的
> 1 == 1.0 --> true
> -3 == -3.0 --> true
> 0.2e3 == 200 --> true
-- Lua支持浮点十六进制常量
> 0xff --> 255
> 0x1A3 --> 419
> 0x0.2 --> 0.125 (二进制的0.001,那么十进制就是八分之一)
> 0x1p-1 --> 0.5
> 0xa.bp2 --> 42.75
算术运算符
对于加法、减法、乘法、floor division (//)的整数运算结果是整数,其他情况是浮点数。
除法的结果是浮点数。