2017-04-19 88 views
0

ho我可以操纵一些Int将它们添加为分钟并对它们进行求和吗?结果应该是1:15或6:30的小时和分钟。通过文字添加分钟

我的操场给1.25,但我因为十进制的四分之一是在0.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

要获得数字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) 
+0

你的第二个选择似乎是最接近Swift semplicity!谢谢你的帮助!我想用这种方式,我甚至可以用Double Right在这个时间内总计总数? – biggreentree

+0

@biggreentree是的,你可以。 – vadian