Swift 将十进制转换为小时:分钟:秒
我在MySQL数据库中以双倍的形式存储数字,这样我可以得到最小值、最大值和总和 我有一个十进制数1.66778,等于01:40:04,但是我想能够将这个十进制数转换为小时:分钟:秒,以Swift格式,这样我就可以将值显示为01:40:04,但是我不知道如何转换 我做了一些搜索,但大多数结果都是没有解释的计算器 我有一个转换为十进制的函数:Swift 将十进制转换为小时:分钟:秒,swift,Swift,我在MySQL数据库中以双倍的形式存储数字,这样我可以得到最小值、最大值和总和 我有一个十进制数1.66778,等于01:40:04,但是我想能够将这个十进制数转换为小时:分钟:秒,以Swift格式,这样我就可以将值显示为01:40:04,但是我不知道如何转换 我做了一些搜索,但大多数结果都是没有解释的计算器 我有一个转换为十进制的函数: func timeToHour(hour: String, minute:String, second:String) -> Double {
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)
}
基本上,将每个组件分解并连接在一起。尝试:
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)
}
基本上将每个组件分解并连接在一起。。谢谢:)如果你想四舍五入到最近的一分钟,这个解决方案会有什么不同?没关系。看起来你可以把
楼层
改成轮
分钟。太棒了。谢谢:)如果你想四舍五入到最近的一分钟,这个解决方案会有什么不同?没关系。看起来您可以将楼层
改为圆形
几分钟。