Swift3 按文字添加分钟数

Swift3 按文字添加分钟数,swift3,nsdate,Swift3,Nsdate,我怎么能操纵一些整数,把它们作为分钟加起来,然后求和呢?结果应该以小时和分钟为单位,就像1:15或6:30一样 我的操场是1.25分,但我希望是1.15分 struct standardDayOfWork { var dailyHours : Double = 0 } var dayToUse = standardDayOfWork() enum hourFractions : Double { case quarter = 15 case half = 30

我怎么能操纵一些整数,把它们作为分钟加起来,然后求和呢?结果应该以小时和分钟为单位,就像1:15或6:30一样

我的操场是1.25分,但我希望是1.15分

struct standardDayOfWork {

var dailyHours : Double = 0

}


var dayToUse = standardDayOfWork()


enum hourFractions : Double {

    case quarter = 15
    case half = 30
    case threeQuarter = 45
    case hour = 60
}


dayToUse.dailyHours += hourFractions.half.rawValue
dayToUse.dailyHours += hourFractions.half.rawValue

dayToUse.dailyHours += hourFractions.quarter.rawValue


var total = dayToUse.dailyHours / 60   //1.25

因为在十进制中,四分之一是0.25

要获得数字1.15,可以使用以下奇怪的表达式:

var total = Double(Int(dayToUse.dailyHours) / 60) + (dayToUse.dailyHours.truncatingRemainder(dividingBy: 60) / 100.0)
或者,如果您可以使用格式化的
“hh:mm”
字符串,我建议您使用

let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.hour, .minute]
formatter.string(from: dayToUse.dailyHours * 60)

您的第二个选择似乎最接近Swift semplicity!谢谢你的帮助!我想通过这种方式,我甚至可以使用Double right?@biggreentree对,你可以。