Skip to content

数学方法

函数列表

1. 绝对值 (math.abs)

说明: 返回数值的绝对值

函数: math.abs(number)

参数:

参数名类型说明
number数字要取绝对值的数

返回值:

返回值类型说明
数字number 的绝对值

示例:

lua
print(math.abs(-15)) -- 15

2. 反正弦 (math.asin)

说明: 返回数值的反正弦值

函数: math.asin(number)

参数:

参数名类型说明
number数字范围 -1..1

返回值:

返回值类型说明
数字以弧度表示的反正弦值

示例:

lua
print(math.asin(0.5))

3. 反余弦 (math.acos)

说明: 返回数值的反余弦值

函数: math.acos(number)

参数:

参数名类型说明
number数字范围 -1..1

返回值:

返回值类型说明
数字以弧度表示的反余弦值

示例:

lua
print(math.acos(0.5))

4. 反正切 (math.atan)

说明: 返回数值的反正切值

函数: math.atan(number)

参数:

参数名类型说明
number数字任意数值表达式

返回值:

返回值类型说明
数字以弧度表示的反正切值

示例:

lua
print(math.atan(1)) -- ~0.7854 (π/4)

5. 向上取整 (math.ceil)

说明: 返回不小于数值的最小整数

函数: math.ceil(number)

参数:

参数名类型说明
number数字任意数值表达式

返回值:

返回值类型说明
整数不小于 number 的最小整数

示例:

lua
print(math.ceil(3.1)) -- 4

6. 余弦 (math.cos)

说明: 返回角度的余弦值

函数: math.cos(rad)

参数:

参数名类型说明
rad数字弧度

返回值:

返回值类型说明
数字余弦值

示例:

lua
print(math.cos(math.rad(30)))

7. 弧度转角度 (math.deg)

说明: 将弧度转换为角度

函数: math.deg(rad)

参数:

参数名类型说明
rad数字弧度

返回值:

返回值类型说明
数字对应的角度值

示例:

lua
print(math.deg(math.pi)) -- 180.0

8. 指数 (math.exp)

说明: 返回e的x次方

函数: math.exp(x)

参数:

参数名类型说明
x数字指数值 x

返回值:

返回值类型说明
数字e^x 的值

示例:

lua
print(math.exp(1)) -- e

9. 向下取整 (math.floor)

说明: 返回不大于数值的最大整数

函数: math.floor(number)

参数:

参数名类型说明
number数字任意数值表达式

返回值:

返回值类型说明
整数不大于 number 的最大整数

示例:

lua
print(math.floor(3.9)) -- 3

10. 自然对数 (math.log)

说明: 返回数值的自然对数

函数: math.log(x)

参数:

参数名类型说明
x数字要求自然对数的数值

返回值:

返回值类型说明
数字ln(x)

示例:

lua
print(math.log(10))

11. 取得参数中最大值 (math.max)

说明: 取得参数中的最大值

函数: math.max(number1, number2, ...)

参数:

参数名类型说明
number1数字第一个数
number2数字第二个数
...数字可变参数

返回值:

返回值类型说明
数字参数列表中的最大值

示例:

lua
print(math.max(1, 10, 5)) -- 10

12. 取得参数中最小值 (math.min)

说明: 取得参数中的最小值

函数: math.min(number1, number2, ...)

参数:

参数名类型说明
number1数字第一个数
number2数字第二个数
...数字可变参数

返回值:

返回值类型说明
数字参数列表中的最小值

示例:

lua
print(math.min(1, 10, 5)) -- 1

13. 取余数 (math.fmod)

说明: 取得两个数相除的余数

函数: math.fmod(dividend, divisor)

参数:

参数名类型说明
dividend数字被除数
divisor数字除数

返回值:

返回值类型说明
数字余数

示例:

lua
print(math.fmod(10, 3)) -- 1

14. 分离整数与小数部分 (math.modf)

说明: 分离数值的整数与小数部分

函数: math.modf(number)

参数:

参数名类型说明
number数字要拆分的数

返回值:

返回值类型说明
整数整数部分
数字小数部分

示例:

lua
local i, f = math.modf(3.14)
print(i, f) -- 3 0.14

15. 设置随机种子 (math.randomseed)

说明: 设置随机数生成器的种子

函数: math.randomseed(seed)

参数:

参数名类型说明
seed数字种子值(通常用时间)

返回值: 无

示例:

lua
math.randomseed(os.time())

16. 产生随机数 (math.random)

说明: 产生随机数

函数:

  • math.random() — 返回 [0,1) 的小数
  • math.random(upper) — 返回 [1, upper] 的整数
  • math.random(low, high) — 返回 [low, high] 的整数

参数:

参数名类型说明
low整数下限
high / upper整数上限

返回值:

返回值类型说明
数字/整数依据调用形式返回小数或整数

示例:

lua
print(math.random())
print(math.random(100))
print(math.random(10, 20))

17. 角度转弧度 (math.rad)

说明: 将角度转换为弧度

函数: math.rad(deg)

参数:

参数名类型说明
deg数字角度

返回值:

返回值类型说明
数字对应的弧度

示例:

lua
print(math.rad(180)) -- π

18. 正弦 (math.sin)

说明: 返回角度的正弦值

函数: math.sin(rad)

参数:

参数名类型说明
rad数字弧度

返回值:

返回值类型说明
数字正弦值

示例:

lua
print(math.sin(math.rad(30)))

19. 平方根 (math.sqrt)

说明: 返回数值的平方根

函数: math.sqrt(number)

参数:

参数名类型说明
number数字要开根号的数

返回值:

返回值类型说明
数字平方根

示例:

lua
print(math.sqrt(9)) -- 3.0

20. 正切 (math.tan)

说明: 返回角度的正切值

函数: math.tan(rad)

参数:

参数名类型说明
rad数字弧度

返回值:

返回值类型说明
数字正切值

示例:

lua
print(math.tan(math.rad(30)))

21. 圆周率常量 (math.pi)

说明: 圆周率π的近似值

函数: math.pi

参数: 无

返回值:

返回值类型说明
数字π 的近似值

示例:

lua
print(math.pi)

22. 转化为整数 (math.tointeger)

说明: 将值转换为整数

函数: math.tointeger(x)

参数:

参数名类型说明
x数字或字符串可转换为整数的值

返回值:

返回值类型说明
整数转换后的整数,或 nil

示例:

lua
print(math.tointeger(3.0)) -- 3
print(math.tointeger("666")) -- 666

23. 获取数字类型 (math.type)

说明: 获取数字的类型

函数: math.type(x)

参数:

参数名类型说明
x数字待检测的数

返回值:

返回值类型说明
字符串"integer" / "float" 或 nil

示例:

lua
print(math.type(3))    -- "integer"
print(math.type(3.14)) -- "float"

24. 无符号比较 (math.ult)

说明: 无符号比较两个整数

函数: math.ult(m, n)

参数:

参数名类型说明
m整数被比较的整数
n整数被比较的整数

返回值:

返回值类型说明
布尔值若 m < n(按无符号比较)则为 true

示例:

lua
print(math.ult(6, 8)) -- true