当前位置:网站首页>数值 - 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分别是 最大整数 和 最小整数,如果整数超出表达(数值溢出),则会出现回环。一般情况下不会溢出,但还是需要注意。
边栏推荐
- 浅谈 Apache Doris FE 处理查询 SQL 源码解析
- 测试用例管理工具推荐
- PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
- From Devops to mlops: how do it tools evolve to AI tools?
- 麒麟信安携异构融合云金融信创解决方案亮相第十五届湖南地区金融科技交流会
- LeetCode 1186. Delete once to get the sub array maximum and daily question
- 【源码解读】| LiveListenerBus源码解读
- Flask搭建api服务
- Flask build API service SQL configuration file
- SlashData开发者工具榜首等你而定!!!
猜你喜欢

Biped robot controlled by Arduino

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

Sator launched Web3 game "satorspace" and launched hoobi

QML初学

With the latest Alibaba P7 technology system, mom doesn't have to worry about me looking for a job anymore

Linux 安装mysql8.X超详细图文教程

自定义View必备知识,Android研发岗必问30+道高级面试题

如何选择合适的自动化测试工具?

Leetcode brush questions day49

专精特新软件开发类企业实力指数发布,麒麟信安荣誉登榜
随机推荐
LeetCode 213. 打家劫舍 II 每日一题
LeetCode 1981. Minimize the difference between the target value and the selected element one question per day
From Devops to mlops: how do it tools evolve to AI tools?
99% of users often make mistakes in power Bi cloud reports
Linux 安装mysql8.X超详细图文教程
QT中自定义控件的创建到封装到工具栏过程(二):自定义控件封装到工具栏
如何选择合适的自动化测试工具?
LeetCode 1043. 分隔数组以得到最大和 每日一题
Flask搭建api服务
LeetCode 312. 戳气球 每日一题
【黄啊码】为什么我建议您选择go,而不选择php?
LeetCode 152. 乘积最大子数组 每日一题
电脑无法加域,ping域名显示为公网IP,这是什么问题?怎么解决?
从DevOps到MLOps:IT工具怎样向AI工具进化?
[fan Tan] after the arrival of Web3.0, where should testers go? (ten predictions and suggestions)
NeRF:DeepFake的最终替代者?
What is cloud computing?
Skimage learning (3) -- adapt the gray filter to RGB images, separate colors by immunohistochemical staining, and filter the maximum value of the region
LeetCode 1155. N ways to roll dice one question per day
Seaborn data visualization