Numbers.lua
------------------------------------ 数字类型 ------------------------------------
--[=[
改变数据类型,意味着重新分配内存空间;
Numbers是不可更改对象,改变其值,相当于换个引用;
]=]
---- 只有numbers这个类型(标准Lua使用64位的整数和双精度浮点数)
intVar = 10
floatVar = 10.1
print(math.type(intVar),intVar) --> integer 10
print(math.type(floatVar),floatVar) --> float 10.1
print(type(intVar),type(floatVar)) --> number number
print(math.tointeger("121")) --> 121
------------------------------------ 数字函数 ------------------------------------
---- 一般数学函数
-- abs(x):绝对值
print(math.abs(-3.33)) --> 3.33
-- ceil(x):获取上入整数
print(math.ceil(2.1)) --> 3
print(math.ceil(-2.9)) --> -2
-- floor(x):获取舍整数
print(math.floor(2.9)) --> 2
print(math.floor(-2.1)) --> -3
-- fmod(x,y):返回x除以y的余数
print(math.fmod(5,3)) --> 2
print(math.fmod(7,3)) --> 1
-- log(x,base):base为底x的对数(base默认为e)
print(math.log(25,5)) --> 2.0 (Lua5.3)
print(math.log(2.718281828459^2)) --> 2.0
-- log10(x):10为底x的对数
print(math.log10(100)) --> 2.0
-- pow(x,y):x**y的值
print(math.pow(2,2),2^2) --> 4.0 4.0
-- sqrt(x):x的平方根
print(math.sqrt(25)) --> 5.0
-- exp(x):e的x次幂
print(math.exp(1)) --> 2.718281828459
-- max(x1,x2...):返回参数中最大的值(参数可以为序列)
print(math.max(2,4,1,22,9)) --> 22
-- min(x1,x2...):返回参数中最小的值(参数可以为序列)
print(math.min(2,4,1,22,9)) --> 1
-- modf(x):获取x的小数部分和整数
print(math.modf(33.33)) --> 33, 0.33
---- 三角函数
-- cos(x):x弧度的余弦值
print(math.cos(math.pi/3)) --> 0.5
print(math.cos(math.pi)) --> -1.0
-- acos(x):x的反余弦弧度值
print(math.acos(0.5)/math.pi*180) --> 60.0
print(math.acos(-1)) --> 3.1415926535898
-- sin(x):x弧度的正弦值
print(math.sin(math.pi/3)) --> 0.86602540378444
print(math.sin(0)) --> 0.0
-- asin(x):x的反正弦弧度值
print(math.asin(0.866025403784)/math.pi*180) --> 59.99999999995
print(math.asin(0)) --> 0.0
-- tan(x):x弧度的正切值
print(math.tan(math.pi/3)) --> 1.73205080757
-- atan(x):x的反正切弧度值
print(math.atan(1.73205080757)/math.pi*180) --> 60.000000000016
-- atan2(y,x):给定x和y坐标值的反正切值
print(math.atan2(math.sqrt(3)/2.0,1.0/2.0)/math.pi*180)--> 60.0
-- deg():弧度转角度
print(math.deg(math.pi/3)) --> 60.0
-- rad():角度转弧度
print(math.rad(60.0)) --> 1.0471975511966
---- 随机数
-- random([m[,n]]):无参数[0,1);1个参数[1,n];2个参数[m,n]
print(math.random()) --> 0.001251220703125
print(math.random(10)) --> 6
print(math.random(10,100)) --> 27
-- randomseed():改变随机数生成器的种子
---- 数学常量
-- 常量π
print(math.pi) --> 3.1415926535898
本文介绍了Lua语言中的数字类型及其特点,并详细列举了Lua标准库提供的数学函数,包括绝对值、取整、三角函数等,以及如何生成随机数。

593

被折叠的 条评论
为什么被折叠?



