一、概述
Lua中的数字为双精度浮点型数。在Lua中1==1.0。
二、算数运算
1、常规运算
+、-、*、/
+、-、*:所有运算数都是整型的运算结果是整型。有浮点数参与的都是浮点数。
2、整数除法
//:相除的商负无穷取整
3//2=1
-9//2=-5
1.5//0.5=3
3、取模运算
a%b = a -((a//b)*b)
保留小数点后制定位数:
a = b % 0.01//保留小数点后2位
a = b % 0.001//保留小数点后3位
a = b % 0.0001//保留小数点后4位
三、关系运算
<、>、<=、>=、==和~=(不等于)
四、数值的范围
- 整数:64位
- 浮点数:标准lua,11位指数。精简Lua,7位指数。
五、一些运算
1、随机数
math.random():返回[0,1)的随机浮点数
math.random(10):返回[1,10]的随机整数
math.random(2,10):返回[2,10]的随机整数
注:一般使用math.randomseed(os.time())来设置初始随机种子。
2、取整函数
- floor:负无穷取整
- ceil:正无穷取整
- modf:向0取整
向最近数取整:
function Rount(num)
local f = math.floor(num)
if f == num or x % 2.0 == 0.5 then
return f
else
return math.floor(num + 0.5)
end
end
六、类型转换
字符串转换成数值
numStr = "1234"
print(type(numStr))
--默认为10进制
num = tonumber(numStr)
--指定原数据为8进制转换成十进制
num2 = tonumber(numStr, 8)
print(type(num))
留言