首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从给定的范围和范围值中查找剩余的KM : Min= 0,Max= 999999

从给定的范围和范围值中查找剩余的KM : Min= 0,Max= 999999
EN

Stack Overflow用户
提问于 2019-08-01 12:10:01
回答 1查看 42关注 0票数 1

我想从给定的里程范围计算下一次服务。取值范围: 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

代码语言:javascript
运行
复制
  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来计算

在此之前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-01 12:21:47

使用余数运算符。

//let nextServiceIn = 10_000 - odometerValue % 10_000

以下是示例代码

代码语言:javascript
运行
复制
let testArray = [4557, 15335, 153700, 888888]
testArray.forEach {
    let serviceIn = 10_000 - $0 % 10_000
    print("\($0) -> service in: \(serviceIn) ")
    }

输出将为:

代码语言:javascript
运行
复制
4557 -> service in: 5443 
15335 -> service in: 4665 
153700 -> service in: 6300 
888888 -> service in: 1112 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57301723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档