Ich denke der Titel sagt alles, aber lassen Sie mich ein wenig mehr hineingehen.Dezimalstunde zeigt 4 min 60 Sekunden nicht 5 Minuten
Ich speichere Dezimalstunden in einem DB alle 5 Minuten, während ein Benutzer meine App verwendet. Ich habe ein paar Probleme mit der Anzeige der richtigen Zeit für einige der 5 min Blöcke, in denen es 4 min und 60 Sekunden zeigt. Jeder 3. 5-Minuten-Block zeigt dies.
So wie etwas, dieses
4:60
10:00
15:00
19:60
Einige haben sogar n: 59 statt n: 00
Teil des Codes ist:
let hours = Int(floor(decimalHour))
let mins = Int(floor(decimalHour * 60) % 60)
let secs = Int(floor(decimalHour * 3600) % 60)
Irgendwelche Vorschläge, was ich tun könnte falsch?
'floor (x)% 60' werden Sie nie 60 geben (oder vielleicht tut es für Punkte floating Versuchen Sie,' int' zu konvertieren, bevor Sie '%'?) Bitte zeigen Sie mehr von dem Code. Enthalten Sie auch, was der Wert von "decimalHour" für diese Testfälle war. – Thilo
Wenn möglich, speichern Sie Ihre Dauer lieber als Sekunden (Ganzzahl) anstelle von Nachkommastellen (Fließkomma). – Thilo
Verwende 'let mins = Int (floor (dezimalHour * 60))% 60' – shallowThought