数值 - number(Lua)

数值 - 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.maxintegermath.mininteger 分别是 最大整数 和 最小整数,如果整数超出表达(数值溢出),则会出现回环。

一般情况下不会溢出,但还是需要注意。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值