【发布时间】:2017-02-02 10:43:11
【问题描述】:
当我调用这个方法时,收到一个错误。在分配小时、分钟或秒时如何处理 NaN 或无限值?
这是我的代码:
private func secondsToFormattedString(totalSeconds: Float64) -> String{
let hours:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 86400) / 3600)
let minutes:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 3600) / 60)
let seconds:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 60))
if hours > 0 {
return String(format: "%i:%02i:%02i", hours, minutes, seconds)
} else {
return String(format: "%02i:%02i", minutes, seconds)
}
}
【问题讨论】:
-
考虑使用
TimeInterval和DateComponentsFormatter -
怎么调用函数,出现问题时totalSeconds的值是多少? – 一个独立的、可重现的测试用例会很有帮助。
标签: swift