我将数字作为 double 存储在 MySQL 数据库中,以便我可以获得最小值、最大值和总和。
我有一个十进制数 1.66777777778,它等于 01:40:04 但是我希望能够在 Swift 中将这个小数转换为小时:分钟:秒,这样我就可以将该值显示为 01:40:04 但是我不知道怎么办。
我做了一些搜索,但大多数结果都是没有解释的计算器。
我有这个函数可以转换为十进制:
func timeToHour(hour: String, minute:String, second:String) -> Double
{
var hourSource = 0.00
if hour == ""
{
hourSource = 0.00
}
else
{
hourSource = Double(hour)!
}
let minuteSource = Double(minute)!
let secondSource = Double(second)!
let timeDecimal: Double = hourSource + (minuteSource / 60) + (secondSource / 3600)
return timeDecimal
}
但需要一个从另一条路返回。
谢谢
最佳答案
尝试:
func hourToString(hour:Double) -> String {
let hours = Int(floor(hour))
let mins = Int(floor(hour * 60) % 60)
let secs = Int(floor(hour * 3600) % 60)
return String(format:"%d:%02d:%02d", hours, mins, secs)
}
基本上将每个组件分解并将它们连接在一起。
关于swift - 将十进制转换为小时 :minutes:seconds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165681/