swift - 将十进制转换为小时 :minutes:seconds

标签 swift

我将数字作为 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/

相关文章:

ios - 在核心数据中,建立一对一的关系是一个好的实践吗?

swift - 在 TableViewCell 中添加 CALayer 触发 CALayerInvalid Exception

iOS - Firebase 动态链接与 Facebook 好友邀请问题

ios - 滚动 Swift 时 Tableview 内容会重新排序

swift - 如何在 Swift 中保存十六进制编码的字符串

ios - 在组合中使用 Future 接收取消事件

ios - UInt8 枚举的按位与运算

ios - Firebase 聊天问题 - 同时发送两条消息

swift - 如何在 Swift 中获取一个类来保存值

ios - 无法使用 siri 读取 plist 数据