Lua 的 Math 模块

作者:hubenchang0515日期:2025/11/13

#Lua 的 Math 模块

请查看 Lua 标准库模块列表 了解更多相关 API。

常量说明
math.huge数值的最大值,通常对应 C 语言中的 HUGE_VAL
math.maxinteger整数的最大值,通常对应 C 语言中的 LONG_MAX
math.mininteger整数的最小值,通常对应 C 语言中的 LONG_MIN
math.pi圆周率
函数说明
math.max取最大值
math.min取最小值
math.ceil向上取整
math.floor向下取整
math.modf分解整数部分和小数部分(向零取整)
math.fmod计算除法的余数
math.deg弧度转角度
math.rad角度转弧度
math.abs计算绝对值
math.acos计算反余弦
math.asin计算反正弦
math.atan计算反正切
math.cos计算余弦
math.sin计算余弦
math.tan计算正切
math.exp计算自然常数 的幂
math.log计算对数
math.sqrt计算平方根
math.tointeger转换为整数
math.type检查类型
math.ult比较无符号整数大小

#math.abs

1math.abs (x)
2

说明

计算 x 的绝对值。

参数

  • x - 一个数值

返回值

  • 返回 x 的绝对值

#math.acos

1math.acos (x)
2

说明

计算 x 的反余弦。

参数

  • x - 弧度

返回值

  • 返回 x 的反余弦

#math.asin

1math.asin (x)
2

说明

计算 x 的反正弦。

参数

  • x - 弧度

返回值

  • 返回 x 的反正弦

#math.atan

1math.atan (y [, x])
2

说明

计算 y/x 的反正切。

参数

  • y - 弧度的分子
  • x - 弧度的分母;默认为 1

返回值

  • 返回 y/x 的反正切

#math.ceil

1math.ceil (x)
2

说明

x 向上取整,返回大于或等于 x 的最小整数值。

参数

  • x - 一个数值

返回值

  • 返回大于或等于 x 的最小整数值

#math.cos

1math.cos (x)
2

说明

计算 x 的余弦。

参数

  • x - 弧度

返回值

  • 返回 x 的余弦

#math.deg

1math.deg (x)
2

说明

将弧度 x 转换为角度。

参数

  • x - 弧度

返回值

  • 返回弧度 x 对应的角度

#math.exp

1math.exp (x)
2

说明

计算自然常数 ex 次方。

参数

  • x - 指数

返回值

  • 返回

#math.floor

1math.floor (x)
2

说明

x 向下取整,返回小于或等于 x 的最大整数值。

参数

  • x - 一个数值

返回值

  • 返回小于或等于 x 的最大整数值

#math.fmod

1math.fmod (x, y)
2

说明

计算 x 除以 y 的余数,其中商的部分向 0 取整。

参数

  • x - 被除数
  • y - 除数

返回值

  • 返回 x 除以 y 的余数

#math.log

1math.log (x [, base])
2

说明

计算以 base 为底,x 的对数()。

参数

  • x - 真数
  • base - 底数;默认为自然常数

返回值

  • 返回以 base 为底,x 的对数

#math.max

1math.max (x, ···)
2

说明

取最大值。

参数

  • x - 数值
  • ... - 数值

返回值

  • 返回参数中的最大值

#math.min

1math.min (x, ···)
2

说明

取最小值。

参数

  • x - 数值
  • ... - 数值

返回值

  • 返回参数中的最小值

#math.modf

1math.modf (x)
2

说明

分离数值的整数部分和小数部分。

参数

  • x - 要处理的数值

返回值

  • 返回整数部分和小数部分

#math.rad

1math.rad (x)
2

说明

将角度 x 转换为弧度。

参数

  • x - 要转换的角度

返回值

  • 返回角度 x 对应的弧度

#math.sin

1math.sin (x)
2

说明

计算 x 的正弦。

参数

  • x - 弧度

返回值

  • 返回 x 的正弦

#math.sqrt

1math.sqrt (x)
2

说明

计算 x 的平方根。

参数

  • x - 被开方数

返回值

  • 返回 x 的平方根

#math.tan

1math.tan (x)
2

说明

计算 x 的正切。

参数

  • x - 弧度

返回值

  • 返回 x 的正切

#math.tointeger

1math.tointeger (x)
2

说明

将变量 x 转换为整数。

参数

  • x - 要被转换的变量

返回值

  • 成功时返回对应的整数值
  • 失败时返回 nil

#math.type

1math.type (x)
2

说明

检查变量 x 的数值类型。

参数

  • x - 要检查的变量

返回值

  • x 是整数时返回 "integer"
  • x 是小数时返回 "float"
  • x 不是数值时返回 nil

#math.ult

1math.ult (m, n)
2

说明

判断无符号整数 m 是否小于无符号整数 n

  • 如果 mn 是有符号整数,则会被转换为无符号整数
  • 如果 mn 不是整数,则会报错

参数

  • m - 要比较的无符号整数
  • n - 要比较的无符号整数

返回值

  • m n 时返回 true
  • 否则返回 false

#推荐阅读

Mathematical Manipulation - Lua 5.4 Reference Manual


Lua 的 Math 模块》 是转载文章,点击查看原文


相关推荐


从“零”构建零售EDI能力:实施路径与常见陷阱
伊士格科技2025/11/11

从“人工对单”到“智能集成”的必经之路 在供应链数字化协同的时代,零售企业从营销渠道到仓库与工厂的协同速度直接决定了库存成本与客户满意度。许多零售商过去依赖邮件、Excel 或 FTP 文件来处理订单与发票,但随着供应链复杂度提升、合作伙伴增多、交易量剧增,这种人工对接方式已不堪重负。 越来越多的零售企业意识到:构建 EDI(电子数据交换)能力,不再只是满足客户要求,而是实现供应链高效协作的关键能力。 然而,从“零”构建 EDI 能力并不容易——涉及标准协议(如EDIFACT、TRADEC


K8S第二次安装
victory04312025/11/9

文章目录 Kubernetes 集群初始化问题总结文档概述遇到的问题及解决方案1. Kubelet cgroup 驱动配置错误2. CoreDNS Pod 处于 Pending 状态3. 节点污点阻止 CoreDNS 调度 最终验证结果经验总结问题已解决!🎉 Kubernetes 集群初始化问题总结文档 概述 本文档总结了在 Kubernetes 集群初始化过程中遇到的主要问题及其解决方案。通过系统性的诊断和修复,最终成功建立了稳定运行的 Kubernetes


Bash 的 while 循环语句
hubenchang05152025/11/7

#Bash 的 while 循环语句 Bash 的 while 循环语句的语法为: while 条件命令 do 命令 ... done 只要条件为真,就执行循环。 其中,条件命令返回成功(0)时为真(true),返回失败(非 0)时为假(false)。 如果省略(部分)换行,则需要使用分号(;)区分: while 条件命令; do 命令; 命令; done 示例: number=0 while [ "$number" -lt 10 ] # 只要 "$number" 小于 1


【Concept Plugin 3】轻量级插件化解决方案|动态类加载
不够优雅2025/11/3

背景 去年的这篇文章【Spring Boot】插件化动态类加载解决方案发现反响很不错 看来大家对于插件化这样的功能还是有一定需求,于是趁热打铁,实现了大家呼声比较高的功能,就有了Concept Plugin 3 新特性 支持集群环境,支持AWS S3对象存储加载插件 支持动态Spring接口,支持解析yaml文件 提供更简单的Observable集成方式 框架介绍 Concept Plugin 3是一款轻量级插件化解决方案,提供可插拔的插件能力 GitHub 传送门 Concep


Redis(94)如何启用Redis的数据加密?
Victor3562025/10/31

启用Redis的数据加密通常涉及两个主要方面:传输层加密(TLS/SSL)和存储层加密。以下是详细的步骤和代码示例,以帮助您在Redis中实现数据加密。 1. 传输层加密(TLS/SSL) 传输层加密确保在客户端和Redis服务器之间传输的数据是加密的。Redis 6.0及以上版本支持TLS/SSL。 步骤 1: 生成证书和密钥 可以使用OpenSSL生成自签名证书和密钥: # 生成CA私钥 openssl genpkey -out ca.key -algorithm RSA -pkeyopt


Vue 3 v-for 指南:从基础到精通,彻底掌握列表渲染的艺术
前端摸鱼匠2025/10/28

文章目录 一、初识 v-for:动态世界的基石1.1 遍历数组:最常见的场景1.1.1 基础语法:`item in items`1.1.2 获取索引:`(item, index) in items`1.1.3 嵌套循环:处理二维或多维数据 1.2 遍历对象:探索属性的奥秘1.2.1 基础语法:`(value, key, index) in object`1.2.2 对象遍历的顺序 1.3 遍历数字:生成固定序列 二、核心机制:Key 的深度解析2.1 为什么需要 Key:


Python编程实战 · 基础入门篇 | 元组(tuple)
程序员爱钓鱼2025/10/26

在学习完列表(list)之后,你会发现 Python 中的序列类型非常灵活。但除了可变的列表,还有一种不可变的序列类型——元组(tuple)。 元组在数据处理、函数返回值、解包操作等场景中都非常常见,是 Python 程序员必须掌握的基础结构之一。 一 什么是元组(tuple) 元组(Tuple)是一个有序、不可变的序列类型。 它与列表类似,也可以存放多个不同类型的元素,但一旦创建,内容就不能被修改。 创建元组使用小括号 (),元素之间用逗号分隔: t = (1, 2, 3) print(t


复杂结构数据挖掘(三)关联规则挖掘实验
nju_spy2025/10/23

目录 1. 数据集导入观察 2. Apriori算法、FP-Growth算法 使用方式 3. 朴素 brute-force 4. grid_search 参数比较 + 三种算法比较 5. main 函数 与 报告生成 6. 实验结果总结 – 通过调整不同级别的支持度与置信度,比较 Apriori 算法、FP-Growth 算法以及一种进行穷举搜索的基准方法。 比较维度包括:生成的频繁项集数量、规则挖掘所用的存储空间、计算成本 – 发现一些有趣的关联规则,并就这些规则所揭


MySQL数据库05:DQL查询运算符
Doro再努力2025/10/22

文章目录 一、运算符简介 二、算术运算符 三、比较运算符 四、逻辑运算符 五、条件查询 五、位运算符(了解) 5.1按位与 5.2按位或 5.3按位异或 5.4按位右移 5.5按位左移 5.6按位取反 一、运算符简介         数据库中的表结构确立后,表中的数据代表的意义就已经确定。通过MSQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份,而运用MySQL的算术运算符用当前的年份减学生出


主流的 MCU 开发语言为什么是 C 而不是 C++?
淘晶驰AK2025/10/20

要说主流 MCU 开发为啥是 C 而不是 C++,你先琢磨琢磨 MCU 那点家当 —— 存储空间按 KB 算,RAM 可能就几十 KB,算力更是抠抠搜搜,稍微重点的操作都怕给它干死机。这种环境下,代码的每一个字节、每一次内存访问都得精打细算,而 C 语言天生就带着这种 "极简主义" 的基因。 你想啊,写 MCU 程序,核心就是跟寄存器打交道,直接往地址里塞数,中断服务程序得像闪电一样快,容不得半点拖泥带水。C 语言就像一把朴实的扳手,没有多余的零件,编译器一转就是干干净净的机器码,你写*(vo

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读