一、概述

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))

最后修改日期: 2023年10月26日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。