• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lua学习之math库

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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会用不同的取整方式,故而有不同的余数。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
cocos2dx-lua绑定之代码编辑器发布时间:2022-07-22
下一篇:
深入xLua实现原理之Lua如何调用C#发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap