我可以操纵一些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
答案 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)