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

Python中如何实现Max向上、Min向下取最近10的倍数

问题根源

round(num, -1)采用四舍六入五成双的舍入规则,仅会取距离原值最近的10的倍数,不会强制结果大于或小于原值,因此示例中8.87895014会被舍入到距离更近的10.0,不满足Min值需向下取整、结果小于自身的要求。

修正实现

借助numpy自带的向上取整np.ceil、向下取整np.floor方法,通过缩放数值即可实现符合规则的取整:

  • Max值处理:先将数值除以10做向上取整,再乘10,得到大于原值的最近10的倍数
  • Min值处理:先将数值除以10做向下取整,再乘10,得到小于原值的最近10的倍数

完整修正代码如下:

import numpy as np
Max = [99.91540553]
Min = [8.87895014]

Amax = np.ceil(Max[0] / 10) * 10
Amin = np.floor(Min[0] / 10) * 10
运行结果

执行代码后得到的结果完全符合预期:

Amax = 100.0
Amin = 0.0

如果需要整数类型的Amax,直接用int()做类型转换即可:Amax = int(np.ceil(Max[0] / 10) * 10),转换后Amax的值为整数100。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:01:07