nha*_*aus 3 python math rounding
我正在编写一个返回 0 到 0.25 之间的值的程序。我想将此值舍入到最接近的预定义值列表。
例如给定一个列表
round_to = [0,0.1,0.15,0.2,0.25]
Run Code Online (Sandbox Code Playgroud)
值 0.004 应四舍五入为 0,值 0.09 -> 0.1,值 0.126 -> 0.15,值 0.22 -> 0.2,依此类推。
有谁知道一种优雅的方法来实现这一点?
非常感谢任何见解!
您可以使用min()一个关键参数,round_to根据每个值之间的差异的绝对值来比较条目:
round_to = [0,0.1,0.15,0.2,0.25]
entry = 0.126
min(round_to, key=lambda x: abs(x - entry))
Run Code Online (Sandbox Code Playgroud)
这输出:
0.15
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |