Lua不显示小数点0的部分
我的环境:Unity3D 5.3.7p4
XLua版本v2.1.6 基于Lua5.3 (https://github.com/Tencent/xLua)
在Lua中数字不区分整型或浮点型,所有都是number,当你在整除时,返回的结果中带有小数0,比如printf(100/10 ) ---输出10.0
注意:在Lua5.1.4的控制台模式,并不会出现此问题。如果输入100/10,则会打印出10,而不是10.0
数字函数
local n1,n2 = math.modf(x)
:返回两个值,第一个为整数部分,第二个为小数部分
示例:local t1, t2 = math.modf(3.2) ---t1=3,t2=0.2
示例和格式化方法
Util.FormatNum(10/100) ---输出10
Util.FormatNum(0.1) ---输出0.1
---如果小数位数为0,则只保留整数
function Util.FormatNum (num)
if num <= 0 then
return 0
else
local t1, t2 = math.modf(num)
---小数如果为0,则去掉
if t2 > 0 then
return num
else
return t1
end
end
end
Lua 5.1和5.3的对比
下图中,左边为Lua5.1,右边为5.3,结果说明:Lua5.1并不会出现此问题,而5.3则会有。