hand
_1_34_14
4
返回栏目
1k
2k
1k
2k
1k
1k
2k
2k
2k
2k
2k
2k
3k
3k
2k
2k
2k
1k
2k
2k
2k
2k
2k
2k
2k
2k
1k
1k
1k
2k
1k
1k
2k
1k
2k
2k
2k
2k
2k
2k
2k
1k
2k
2k
2k
2k
2k
3k
2k
2k
6k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
2k
3k
3k
3k
1k
3k
3k
5k
2k
2k
2k
1k
1k
2k
2k
1k
1k
1k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
3k
3k
2k
2k
2k
2k
4k
2k
3k
2k
3k
2k
3k
2k
3k
2k
2k
2k
3k
返回Lua栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 21:40:21
在 Lua 编程中,数值类型是一种基本的数据类型,用于表示数字。而 Lua 的数学库(math
)提供了一系列丰富的函数,用于进行各种常用的数学运算。本文将详细介绍 Lua 数学库中一些常用的数学运算函数,并通过演示代码帮助大家更好地理解和使用这些函数。
在实际编程中,我们经常需要对数值进行取整操作,Lua 的数学库提供了几个常用的取整函数。
math.floor(x)
该函数返回不大于 x
的最大整数,也就是向下取整。
-- 示例代码
print(math.floor(3.8)) -- 输出 3
print(math.floor(-3.8)) -- 输出 -4
math.ceil(x)
与 math.floor
相反,math.ceil(x)
返回不小于 x
的最小整数,即向上取整。
-- 示例代码
print(math.ceil(3.2)) -- 输出 4
print(math.ceil(-3.2)) -- 输出 -3
math.modf(x)
该函数返回 x
的整数部分和小数部分。
-- 示例代码
local integer, fraction = math.modf(3.7)
print(integer) -- 输出 3
print(fraction) -- 输出 0.7
math.abs(x)
math.abs(x)
函数返回 x
的绝对值。
-- 示例代码
print(math.abs(5)) -- 输出 5
print(math.abs(-5)) -- 输出 5
math.pow(x, y)
math.pow(x, y)
用于计算 x
的 y
次幂,即 $x^y$。
-- 示例代码
print(math.pow(2, 3)) -- 输出 8,即 2 的 3 次方
math.sqrt(x)
math.sqrt(x)
用于计算 x
的平方根,要求 x
必须是非负数。
-- 示例代码
print(math.sqrt(9)) -- 输出 3,即 9 的平方根
Lua 的数学库提供了一系列三角函数,这些函数的参数是弧度制。
math.sin(x)
计算 x
的正弦值。
-- 示例代码
print(math.sin(math.pi / 2)) -- 输出 1,因为 sin(π/2) = 1
math.cos(x)
计算 x
的余弦值。
-- 示例代码
print(math.cos(math.pi)) -- 输出 -1,因为 cos(π) = -1
math.tan(x)
计算 x
的正切值。
-- 示例代码
print(math.tan(math.pi / 4)) -- 输出 1,因为 tan(π/4) = 1
还提供了反三角函数,如 math.asin(x)
、math.acos(x)
和 math.atan(x)
。
-- 示例代码
print(math.asin(1)) -- 输出 π/2,因为 asin(1) = π/2
math.randomseed(x)
该函数用于设置随机数生成器的种子。一般使用 os.time()
作为种子,以确保每次运行程序时生成不同的随机数序列。
-- 示例代码
math.randomseed(os.time())
math.random()
如果不传递参数,math.random()
返回一个在 [0, 1)
范围内的随机浮点数。
-- 示例代码
print(math.random())
math.random(n)
如果传递一个整数 n
,math.random(n)
返回一个在 [1, n]
范围内的随机整数。
-- 示例代码
print(math.random(10)) -- 输出 1 到 10 之间的随机整数
math.random(m, n)
如果传递两个整数 m
和 n
,math.random(m, n)
返回一个在 [m, n]
范围内的随机整数。
-- 示例代码
print(math.random(5, 15)) -- 输出 5 到 15 之间的随机整数
函数名 | 功能描述 | 示例代码 | 示例输出 |
---|---|---|---|
math.floor(x) |
向下取整,返回不大于 x 的最大整数 |
print(math.floor(3.8)) |
3 |
math.ceil(x) |
向上取整,返回不小于 x 的最小整数 |
print(math.ceil(3.2)) |
4 |
math.modf(x) |
返回 x 的整数部分和小数部分 |
local i, f = math.modf(3.7) |
i: 3, f: 0.7 |
math.abs(x) |
返回 x 的绝对值 |
print(math.abs(-5)) |
5 |
math.pow(x, y) |
计算 x 的 y 次幂 |
print(math.pow(2, 3)) |
8 |
math.sqrt(x) |
计算 x 的平方根(x 需非负) |
print(math.sqrt(9)) |
3 |
math.sin(x) |
计算 x 的正弦值(x 为弧度) |
print(math.sin(math.pi / 2)) |
1 |
math.cos(x) |
计算 x 的余弦值(x 为弧度) |
print(math.cos(math.pi)) |
-1 |
math.tan(x) |
计算 x 的正切值(x 为弧度) |
print(math.tan(math.pi / 4)) |
1 |
math.asin(x) |
计算 x 的反正弦值 |
print(math.asin(1)) |
π/2 |
math.random() |
返回 [0, 1) 范围内的随机浮点数 |
print(math.random()) |
随机值 |
math.random(n) |
返回 [1, n] 范围内的随机整数 |
print(math.random(10)) |
随机值 |
math.random(m, n) |
返回 [m, n] 范围内的随机整数 |
print(math.random(5, 15)) |
随机值 |
通过这些常用的数学运算函数,我们可以在 Lua 中轻松地实现各种复杂的数学计算。希望本文的介绍和示例代码能帮助你更好地掌握 Lua 数学库的使用。
Lua
整章节共127节
快分享给你的小伙伴吧 ~