2013-08-16 70 views
1

我得到一個以秒爲單位的數字,我想知道是否有任何可能的方法從這個數字中得到兩倍並將其添加到字符串部分?這裏是代碼:從數字中獲得雙倍數

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

上面的文件返回:你有:::: min!

所有我期待的是轉換秒,分鐘和秒(更多類似2:23)

+0

標題並不反映的問題。 – lhf

回答

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

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

此代碼是由一個冒號替換所有字符。這是因爲你的第二個參數是一個正則表達式,其中一個句點與任何字符匹配。你可以嘗試用反斜槓它,即

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

然而,這仍然給你分數的分鐘數,秒數數量不限。儘管你說你想要3:63我懷疑是這樣,因爲這是一個無效的時間。

嘗試:

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

1

試着和os.date玩:

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

08:20