当前位置:网站首页>数值 - number(Lua)
数值 - number(Lua)
2022-07-07 15:38:00 【有趣就行】
数值 - number
在 Lua 5.3 之前版本,number 只有一种数值形式,就是双精度浮点类型。从Lua 5.3 版本后,Lua 的 number 数据类型引入了整形,从而出现了两种数值表示,一种是 64位 整型 integer 和 双精度浮点型 float。
--如下表示
a = 1 --integer
b = 1.0 --float
c = 1e4 --float
当数值常量为 小数 或 指数时,number会当作 float,其余为整数
算术运算
number由于区分了整型和浮点型,所以在算术运算要注意区分其区别。
| 操作符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法,保留小数位 |
| % | 取余 |
| ^ | 乘幂 |
| - | 负号 |
| //(Lua5.3之后才有的) | 除法,不保留小数位(无论整数还是浮点数) |
+ 加法 整数相加为整数,除此之外为浮点数
- 减法 整数相减为整数,除此之外为浮点数
* 乘法 整数相乘为整数,除此之外为浮点数
\ 除法(保留小数位),无论整数还是浮点数,结果都是浮点数
^ 乘幂,无论整数还是浮点数,结果为浮点数
\\ 除法(不保留小数位),整数相除为整数,其余为浮点数
数学库
- 判断类型
math.type:判断number类型是 integer 还是 float (Lua 5.3)
- 取整
math.floor:向下取整
math.ceil: 向上取整
math.modf:向零取整,返回两个值,一个为整数,一个为小数(小数部分)
a, b = 1.5, -1.5
print(math.floor(a), math.floor(b)) --1 -2
print(math.ceil(a), math.ceil(b)) -- 2 -1
print(math.modf(a)) -- 1 0.5
print(math.modf(b)) -- -1 -0.5
math.maxinteger和math.mininteger分别是 最大整数 和 最小整数,如果整数超出表达(数值溢出),则会出现回环。一般情况下不会溢出,但还是需要注意。
边栏推荐
猜你喜欢

SlashData开发者工具榜首等你而定!!!

Shallow understanding Net core routing

麒麟信安操作系统衍生产品解决方案 | 存储多路径管理系统,有效提高数据传输可靠性

skimage学习(3)——使灰度滤镜适应 RGB 图像、免疫组化染色分离颜色、过滤区域最大值

Skimage learning (3) -- adapt the gray filter to RGB images, separate colors by immunohistochemical staining, and filter the maximum value of the region

Matplotlib绘制三维图形

QT picture background color pixel processing method

Siggraph 2022 best technical paper award comes out! Chen Baoquan team of Peking University was nominated for honorary nomination

AI来搞财富分配比人更公平?来自DeepMind的多人博弈游戏研究

Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
随机推荐
Share the latest high-frequency Android interview questions, and take you to explore the Android event distribution mechanism
服务器彻底坏了,无法修复,如何利用备份无损恢复成虚拟机?
Seaborn数据可视化
Reflections on "product managers must read: five classic innovative thinking models"
Sator推出Web3游戏“Satorspace” ,并上线Huobi
浅浅理解.net core的路由
如何选择合适的自动化测试工具?
Solidity函数学习
DNS series (I): why does the updated DNS record not take effect?
LeetCode 1477. 找两个和为目标值且不重叠的子数组 每日一题
QT中自定义控件的创建到封装到工具栏过程(一):自定义控件的创建
Matplotlib绘制三维图形
Sator推出Web3游戏“Satorspace” ,并上线Huobi
科普达人丨一文弄懂什么是云计算?
LeetCode 1696. Jumping game VI daily question
Flask搭建api服务
LeetCode 1031. Maximum sum of two non overlapping subarrays
Lex & yacc of Pisa proxy SQL parsing
LeetCode 1477. Find two subarrays with sum as the target value and no overlap
Linux 安装mysql8.X超详细图文教程