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