Swift3 按文字添加分钟数
我怎么能操纵一些整数,把它们作为分钟加起来,然后求和呢?结果应该以小时和分钟为单位,就像1:15或6:30一样 我的操场是1.25分,但我希望是1.15分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
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对,你可以。