You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于指定可选长度的线缆测量值智能取整需求咨询

该线缆取整需求可实现

完全可以按照你的要求实现测量值到指定线缆长度的取整,核心是基于给定的可选长度和±10浮动规则,明确每个测量值对应的目标长度区间,以下是具体的规则定义和实现逻辑:

规则对应区间(可选长度:40、60、80、120、300、500)

将可选长度按从小到大排序后,每个长度的覆盖区间及空白区间的处理规则如下:

  • 40:测量值在 40-50(40±10,因测量值下限为40)时,取整为40
  • 60:测量值在 51-70(60±10,与40区间衔接无重叠)时,取整为60
  • 80:测量值在 71-90(80±10)时,取整为80
  • 120:测量值在 110-130(120±10)时,取整为120
  • 300:测量值在 290-310(300±10),以及 131-289(120区间上限+1到300区间下限-1)时,取整为300
  • 500:测量值在 490-500(500±10,因测量值上限为500),以及 311-489(300区间上限+1到500区间下限-1)时,取整为500

示例验证

  • 测量值121:落在120的覆盖区间(110-130),取整为120,符合要求
  • 测量值131:超出120的区间上限,进入空白区间,取整为300,符合要求
  • 测量值91:超出80的区间上限,进入空白区间,取整为120
  • 测量值289:未进入300的区间下限,进入空白区间,取整为300

实现方式

不管用Excel公式、Python/Java等编程语言,都可以通过区间条件判断实现:

  1. 先将可选长度按顺序排列
  2. 对每个测量值,依次匹配对应的区间
  3. 若不在任何±10区间内,则向上匹配下一个可选长度

比如用Python实现的核心逻辑片段:

def round_cable_length(x):
    options = [40, 60, 80, 120, 300, 500]
    for i in range(len(options)):
        lower = options[i] - 10
        upper = options[i] + 10
        # 处理测量值的上下限边界
        if i == 0:
            lower = max(lower, 40)
        if i == len(options)-1:
            upper = min(upper, 500)
        if lower <= x <= upper:
            return options[i]
        # 处理空白区间,向上匹配
        if i < len(options)-1 and x > upper and x < options[i+1]-10:
            return options[i+1]
    return options[-1]

内容的提问来源于stack exchange,提问作者Erin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:25:17