Lua数值
数值
在Lua 5.2以及之前的版本只有number,它们都以双精度浮点数的方式表示,它能表达的最大整数是2^53^。在Lua 5.3中,引入了两种类型的数值类型:
因为Lua 5.2及之前版本中支持的2^53^为
9,007,199,254,740,992
,这是一个极大的整数值,所以Lua 5.2和Lua 5.3并不会出现太大的不兼容性。
1 |
type(3) --> number |
算术运算
1 |
+ - * / % ^ // |
-3
),不可识别带正号的正数(如
+3
)
//
a % b
的符号总是由b的符号决定,且大小值由b决定。例如
x % (-3)
的结果一定是负数,且值只能为0、-1、-2
1 |
3+2 --> 5 |
tonumber()
tonumber(arg1,arg2)尝试将arg1转换成数值,如果能够转换则返回转换后的值,不能转换则返回nil。可使用arg2指定将arg1识别为多少进制的数。
1 |
tonumber(3.3) --> 3.3 |
math库
math库提供了一些数学运算的函数,包括各种三角函数、指数和对数函数,还包括:
1 |
pi |
math.tointeger(A)
将A转换成整数,如果不能转换,则返回nil。只有表示整数值的数才能转换成整数。
1 |
math.tointeger(3) --> 3 |