我想从给定的里程范围计算下一次服务。取值范围: Min= 0,Max= 999999
之后,每10000公里,我希望显示服务到期。例如,如果里程表的值为13400 km,则6600 km之后的下一次服务到期(20000-13400 =6600 km)
如果里程表的值为184560 km,则在5440 km (190000-184560 =5440 km)之后的下一次服务到期
我尝试从给定的里程范围值中查找此值: Min= 0,Max= 999999
func firstSolution(odometerValue : Int) -> Int{
switch odometerValue {
case 1...10000:
// print("\(10000-odometerValue)")
return 10000 - odometerValue
case 11000...20000 :
// print("\(20000-odometerValue)")
return 20000 - odometerValue
case 21000...30000 :
// print("\(30000-odometerValue)")
return 30000 - odometerValue
}我已经尝试了较小的范围,但我希望计算范围值: Min= 0,Max= 999999
请帮我用Swift来计算
在此之前谢谢。
发布于 2019-08-01 12:21:47
使用余数运算符。
//let nextServiceIn = 10_000 - odometerValue % 10_000
以下是示例代码
let testArray = [4557, 15335, 153700, 888888]
testArray.forEach {
let serviceIn = 10_000 - $0 % 10_000
print("\($0) -> service in: \(serviceIn) ")
}输出将为:
4557 -> service in: 5443
15335 -> service in: 4665
153700 -> service in: 6300
888888 -> service in: 1112 https://stackoverflow.com/questions/57301723
复制相似问题