2017-04-19 87 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