用文字添加分钟数

时间:2017-04-19 09:49:31

标签: swift3 nsdate

我可以操纵一些Int将它们添加为分钟并加总吗?结果应该是小时和分钟,就像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

1 个答案:

答案 0 :(得分:0)

因为在十进制系统中,四分之一是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)