码迷,mamicode.com
首页 > 其他好文 > 详细

lua学习之math库

时间:2017-04-01 01:09:28      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:mod   ges   color   ring   code   log   string   没有   lua   

技术分享

mark下这个表,方便以后在开发中使用。。。

--把秒数转化为“时:分:秒”的格式
local function formatTime(time)  
    local hour = math.floor(time/3600);  
    local minute = math.fmod(math.floor(time/60), 60)  
    local second = math.fmod(time, 60)  
    local rtTime = string.format("%s:%s:%s", hour, minute, second)  
    return rtTime  
end 

上面的math.fmod和取余符号%有什么区别呢?

print(15%4,math.fmod(15,4))
--输出:0.1    0.1

另外可以对小数进行求余运算:
print(3.1%1.5,math.fmod(3.1,1.5))
--输出:0.1    0.1

这样看来2个是没有区别的,但是:
print(-2%3,math.fmod(-2,3))
--输出:1,-2

因为 y%x运算总是将y/x的值向下取整,而math.fmod(y,x)是将y/x的值向0取整,所以-2%3得到的商是math.floor(-2/3)=-1,余数为1,
而math.fmod(-2,3)得到的商是math.ceil(-2/3)=0,余数是-2。 总之当y/x为负数数,%和math.floor会用不同的取整方式,故而有不同的余数。

 

lua学习之math库

标签:mod   ges   color   ring   code   log   string   没有   lua   

原文地址:http://www.cnblogs.com/jierism/p/6654099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!