概述
数值 - 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
分别是 最大整数 和 最小整数,如果整数超出表达(数值溢出),则会出现回环。一般情况下不会溢出,但还是需要注意。
最后
以上就是坦率帅哥为你收集整理的数值 - number(Lua)的全部内容,希望文章能够帮你解决数值 - number(Lua)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复