从数字中获得两倍

时间:2013-08-16 14:52:55

标签: lua

我得到一个以秒为单位返回的数字,我想知道是否有任何可能的方法从这个数字加倍并将其添加到字符串部分?这是代码:

local time = os.time() - LastTime()
local min = time / 60
min = tostring(min)
min = string.gsub(min, ".", ":")
print("You got "..min.." min!")

上面的文件返回:你得到了:::: min!

我正在寻找的是将秒转换为分钟和秒(更像是2:23)

3 个答案:

答案 0 :(得分:2)

min = string.gsub(min, ".", ":")

此代码用冒号替换所有字符。这是因为您的第二个参数是正则表达式,其中句点与任何字符匹配。您可以尝试用反斜杠转义它,即

min = string.gsub(min, "%.", ":")

然而,这仍然会给你分数的分数,而不是秒数。尽管你说你想要3:63我怀疑是这种情况,因为这是一个无效的时间。

尝试:

print(string.format("%d:%d", math.floor(time/60), time%60))

答案 1 :(得分:1)

您可以使用math.modf功能。

time = os.time()
--get minutes and franctions of minutes
minutes, seconds = math.modf(time/60)
--change fraction of a minute to seconds
seconds = math.floor((seconds * 60) + 0.5)

--print everything in a printf-like way :)
print(string.format("You got %d:%d min!", minutes, seconds))

答案 2 :(得分:1)

尝试使用os.date:

print(os.date("%M:%S",500))
  

8时二十