Lua 的 Math 模块

简介: 这个库提供了基本的数学函数。 所以函数都放在表 math 中。 注解有 "integer/float" 的函数会对整数参数返回整数结果, 对浮点(或混合)参数返回浮点结果。 圆整函数(math.ceil, math.floor, math.modf) 在结果在整数范围内时返回整数,否则返回浮点数。

#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

math.abs (x)

说明

计算 x 的绝对值。

参数

  • x - 一个数值

返回值

  • 返回 x 的绝对值

#math.acos

math.acos (x)

说明

计算 x 的反余弦。

参数

  • x - 弧度

返回值

  • 返回 x 的反余弦

#math.asin

math.asin (x)

说明

计算 x 的反正弦。

参数

  • x - 弧度

返回值

  • 返回 x 的反正弦

#math.atan

math.atan (y [, x])

说明

计算 y/x 的反正切。

参数

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

返回值

  • 返回 y/x 的反正切

#math.ceil

math.ceil (x)

说明

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

参数

  • x - 一个数值

返回值

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

#math.cos

math.cos (x)

说明

计算 x 的余弦。

参数

  • x - 弧度

返回值

  • 返回 x 的余弦

#math.deg

math.deg (x)

说明

将弧度 x 转换为角度。

参数

  • x - 弧度

返回值

  • 返回弧度 x 对应的角度

#math.exp

math.exp (x)

说明

计算自然常数 ex 次方。

参数

  • x - 指数

返回值

  • 返回

#math.floor

math.floor (x)

说明

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

参数

  • x - 一个数值

返回值

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

#math.fmod

math.fmod (x, y)

说明

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

参数

  • x - 被除数
  • y - 除数

返回值

  • 返回 x 除以 y 的余数

#math.log

math.log (x [, base])

说明

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

参数

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

返回值

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

#math.max

math.max (x, ···)

说明

取最大值。

参数

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

返回值

  • 返回参数中的最大值

#math.min

math.min (x, ···)

说明

取最小值。

参数

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

返回值

  • 返回参数中的最小值

#math.modf

math.modf (x)

说明

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

参数

  • x - 要处理的数值

返回值

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

#math.rad

math.rad (x)

说明

将角度 x 转换为弧度。

参数

  • x - 要转换的角度

返回值

  • 返回角度 x 对应的弧度

#math.sin

math.sin (x)

说明

计算 x 的正弦。

参数

  • x - 弧度

返回值

  • 返回 x 的正弦

#math.sqrt

math.sqrt (x)

说明

计算 x 的平方根。

参数

  • x - 被开方数

返回值

  • 返回 x 的平方根

#math.tan

math.tan (x)

说明

计算 x 的正切。

参数

  • x - 弧度

返回值

  • 返回 x 的正切

#math.tointeger

math.tointeger (x)

说明

将变量 x 转换为整数。

参数

  • x - 要被转换的变量

返回值

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

#math.type

math.type (x)

说明

检查变量 x 的数值类型。

参数

  • x - 要检查的变量

返回值

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

#math.ult

math.ult (m, n)

说明

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

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

参数

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

返回值

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

#推荐阅读

Mathematical Manipulation - Lua 5.4 Reference Manual


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

相关文章
|
5月前
|
设计模式 缓存 监控
如何在 Spring 项目中优雅地使用设计模式
本文深入探讨在Spring项目中如何优雅应用设计模式,结合依赖注入与IoC特性,通过工厂、策略、装饰者等模式提升代码可维护性与扩展性,助力构建高效、灵活的Java应用。
366 5
|
C# 图形学
unity使用BMFont制作位图字体
unity也能制作艺术字拉
unity使用BMFont制作位图字体
|
5月前
|
前端开发 容器
CSS 的弹性布局
CSS弹性布局通过`display:flex`实现,可灵活控制容器内子元素的排列、对齐与分布。支持主轴与交叉轴方向设置、伸缩比例(flex-grow/shrink)、换行及多行对齐方式,大幅提升网页布局灵活性与响应性。
|
5月前
|
C++ Python
Qt Theme —— 纯 qss 的 Qt 主题
Qt Theme 是一个纯 QSS 实现的 Qt 主题库,支持 C++ 与 Python(PyQt/PySide),提供多种风格与配色,轻松美化界面。可通过 pip 安装或导出资源嵌入项目,兼容 WebAssembly 在线预览。
479 109
|
5月前
|
Java 数据库 微服务
Java 学习路线可按「基础→进阶→实战→架构」四阶段推进
Java学习路线分四阶段:基础→进阶→实战→架构。涵盖语法、多线程、框架、微服务等核心内容,搭配项目实战与学习技巧,助你系统掌握Java开发技能,逐步成长为高级工程师。(238字)
627 4
|
5月前
|
数据挖掘
医院随访系统源码,三级随访管理流程解析
患者院后随访管理系统是一款智能化医疗平台,实现从“院内诊疗”到“院外康复”的全程闭环管理。系统支持三级随访、多途径回访、自动提醒、数据分析与满意度调查,提升随访效率与医疗服务质量,推动医疗服务延伸至院外,助力构建高效、规范的随访生态。
425 1
|
5月前
|
弹性计算 固态存储 Java
新手上云参考:阿里云服务器购买配置选择注意事项及购买流程参考
对于还未使用过阿里云服务器的新手用户而言,可能不是很清楚阿里云服务器的配置选择及购买过程,对于这些初次接触阿里云的新手来说,究竟该如何挑选合适的云服务器配置,并顺利完成购买呢?这无疑是他们最为关心的问题。为此,小编整理了一份2025年购买阿里云服务器的完整流程指南,旨在为新手用户提供有力的参考,助力他们在购买阿里云服务器配置时少走弯路!
294 1
|
5月前
|
前端开发 JavaScript Ruby
HTML 元素帮助手册
此页面列出了所有使用标签创建的 HTML 元素。它们已被按照功能进行分组,以便更轻松地找到你想要的内容。同时,侧边栏中也按照字母排序列出了所有元素。