我是靠谱客的博主 坦率帅哥,最近开发中收集的这篇文章主要介绍数值 - 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 分别是 最大整数 和 最小整数,如果整数超出表达(数值溢出),则会出现回环。

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

最后

以上就是坦率帅哥为你收集整理的数值 - number(Lua)的全部内容,希望文章能够帮你解决数值 - number(Lua)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部