2016-10-02 2 views
0

Ich habe die folgende Funktion:lua Zahlenformat nicht funktioniert

function timestamp(duration) 
    local hours = duration/3600 
    local minutes = duration % 3600/60 
    local seconds = duration % 60 
    return string.format("%02d:%02d:%02.03f", hours, minutes, seconds) 
end 

, wenn die Dauer ist 4,404 sec es 00 zurückgibt: 00: 4,404

was ist suchen ist 00: 00: 04,404

Antwort

3

es sein sollte:

string.format("%02d:%02d:%06.3f", hours, minutes, seconds) 

Feldbreite enthält alle Zeichen der Nummer, einschließlich Punkt und Fraktion.

+0

Ich werde es überprüfen –

+0

Das könnte funktionieren, aber bitte beachten Sie, dass die Verwendung der '0' Flag zusammen mit einer Genauigkeit für das' f' Format undefiniertes Verhalten verursacht (Lua verwendet 'sprintf' unter der Haube). – siffiejoe

+0

auch ich möchte entfernen. von Sekunden ist es möglich und ersetzen durch _ (Unterstrich) –